Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1584to1588
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Zeilen abhängig von Benutzereingabe kopieren
12.10.2017 14:49:29
Benutzereingabe
Hallo,
ich habe ein Problem mit kopieren und einfügen in vba
Also, der Benutzer wird mit einer Eingabe aufgefordert, Zahlen oder Buchstaben einzugeben (zb. IA ).
Ich meiner Liste befinden sich:
IA11011 Adresse1 Wareneingang 1
IA11021 Adresse2 Wareneingang 1
MA13101 Adresse0 IA111 fertig 0
MA13111 Adresse1 Wareneingang 1
MA11111 Adresse1 Wareneingang 1
Wenn der Benutzer mit der Eingabe dann alle Zeilen mit IA (egal was vor oder nach IA steht) filtern will, sollen eben alle Zeilen wo IA enthalten ist ( auch in Zeile 3, es kann also auch hinten stehen ) kopiert werden und in eine andere Tabelle (Tabelle1 (Sheet1 ist die erste in meinem Fall )) eingetragen werden. Wenn ich mein Programm aber ausführe kopiert es jedoch nur die erste Ziele mit IA und schreibt es in die andere Tabelle, und hört dann einfach auf. Ich glaube ich bräuchte eine Do loop, aber ich habe keine Ahnung wie ich das anstellen soll. Könnte mir bitte jemand helfen, danke. Hier mein Code
Sub new1()
Dim rng As Range
Dim loDeinWert As String
Dim sFirstAdress As String
loDeinWert = InputBox("Abfrage", "Eingabe", Environ("a1"))            ' Eingabe
Set rng = Worksheets("Sheet1").Range("A:AA").Find(loDeinWert)
If rng Is Nothing Then
MsgBox "Wert " & loDeinWert & " nicht gefunden!"
Else
sfirstaddress = rng.Address
rng.EntireRow.Copy
Worksheets("Tabelle1").Cells(Rows.Count, "A").End(xlUp) _
.Offset(2, 0).PasteSpecial Paste:=xlPasteAll
Set rng = Worksheets("Sheet1").Range("A:AA").FindNext(rng)
End If
End Sub

9
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Zeilen abhängig von Benutzereingabe kopieren
12.10.2017 17:08:56
Benutzereingabe
Hallo Andi,
meine Ergänzungen sind in blau dargestellt.
Sub new1()
Dim rng As Range
Dim loDeinWert As String
Dim sFirstAdress As String
loDeinWert = InputBox("Abfrage", "Eingabe", Environ("a1"))            ' Eingabe
Set rng = Worksheets("Sheet1").Range("A:AA").Find(loDeinWert)
If rng Is Nothing Then
MsgBox "Wert " & loDeinWert & " nicht gefunden!"
Else
sfirstaddress = rng.Address
Do
rng.EntireRow.Copy
Worksheets("Tabelle1").Cells(Rows.Count, "A").End(xlUp) _
.Offset(2, 0).PasteSpecial Paste:=xlPasteAll
Set rng = Worksheets("Sheet1").Range("A:AA").FindNext(rng)
Loop While Not rng.Address = sfirstaddress
End If
End Sub
Gruß
Robert
Anzeige
AW: Zeilen abhängig von Benutzereingabe kopieren
12.10.2017 17:22:41
Benutzereingabe
Hallo Andi,
teste mal:
Sub new1()
    Dim rng As Range
    Dim loDeinWert As String
    Dim sFirstAdress As String
    loDeinWert = InputBox("Abfrage", "Eingabe", Environ$("USERNAME"))
    Set rng = Worksheets("Sheet1").Range("A:AA").Find(What:=loDeinWert, _
        LookIn:=xlValues, LookAt:=xlPart, MatchCase:=False)
    If rng Is Nothing Then
        MsgBox "Wert " & loDeinWert & " nicht gefunden!", vbExclamation, "Hinweis"
    Else
        sFirstAdress = rng.Address
        Worksheets("Tabelle1").UsedRange.ClearContents
        Do
            Call rng.EntireRow.Copy(Destination:=Worksheets("Tabelle1") _
                .Cells(Rows.Count, 1).End(xlUp).Offset(1, 0))
            Set rng = Worksheets("Sheet1").Range("A:AA").FindNext(rng)
        Loop Until rng.Address = sFirstAdress
    End If
End Sub

Gruß
Nepumuk
Anzeige
AW: Zeilen abhängig von Benutzereingabe kopieren
13.10.2017 09:15:09
Benutzereingabe
Hallo Nepumuk,
vielen Dank für deine Bemühungen, leider kopiert es von
IP01 1
IP11 1
(erstes Arbeitsblatt)
nur
IP01 1
in das zweite Arbeitsblatt
hmm :/
trotzdem danke :)
AW: Zeilen abhängig von Benutzereingabe kopieren
13.10.2017 09:21:34
Benutzereingabe
Hallo Andi,
kannst du eine Mustermappe hochladen?
Gruß
Nepumuk
AW: Zeilen abhängig von Benutzereingabe kopieren
13.10.2017 11:49:02
Benutzereingabe
Hallo Nepumuk,
ich habs nochmal ausprobiert und es funktioniert fast, aber wenn du in der Konsole bei meiner Datei IP eingibst dann kommt jede IP Zeile im anderen Arbeitsblatt zwei mal, also
IP01
IP01
IP02
IP02
usw
weißt du was ich meine, sieh es dir bitte mal an !
danke für deine Hilfe !
hier die Datei
https://www.herber.de/bbs/user/116939.txt
musst du bitte in xlsm umbennen ist jetzt nur eine text datei
danke
Anzeige
AW: Zeilen abhängig von Benutzereingabe kopieren
13.10.2017 11:52:30
Benutzereingabe
Hallo Andi,
klar, das Kürzel kommt 2mal in der Tabelle pro Zeile vor. Soll ich nur die Spalte A durchsuchen?
Gruß
Nepumuk
AW: Zeilen abhängig von Benutzereingabe kopieren
13.10.2017 12:07:08
Benutzereingabe
Okay das mit Spalte A hab ich mit ("A:A") gelöst, eine Frage hätte ich aber noch
wenn ich nach IP suche dann wird es ja reinkopiert in das zweite Arbeitsblatt, wenn ich dann aber gleich
nach einer anderen Abkürzung wie AA suche, dann wird IP überschreiben, wie kann ich es machen, dass die Zeilen mit AA nach IP kommen also
IP1
IP11
AA1
AA11
und IP nicht einfach von AA überschreiben wird
Danke
AW: Zeilen abhängig von Benutzereingabe kopieren
13.10.2017 12:10:20
Benutzereingabe
Hallo Andi,
lösch die Zeile:
Worksheets("Tabelle1").UsedRange.ClearContents
Gruß
Nepumuk
Anzeige
AW: Zeilen abhängig von Benutzereingabe kopieren
13.10.2017 12:13:54
Benutzereingabe
Ich danke dir ! :)

302 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige