Forum:Excel
Thema:Werte abfragen für Automatisierung
Möchten Sie sich registrieren?
Wer darf antworten? Registrierte Benutzer können Beiträge verfassen.
Hinweise zur Registrierung Sie müssen registriert sein, um Beiträge oder Antworten auf Beiträge schreiben zu können.
Ihr Benutzername:
Ihr Kennwort:   Kennwort vergessen?
Anhang:    Datei(en) anhängen  <?>   Anhänge verwalten  <?>
Grafik für den Beitrag:                                                
                                                       
Ihre Antwort:

Fachbegriff
URL
Email
Fett
Kursiv
Durchgestr.
Liste
*
Bild
Zitat
Code

*HTML ist AUS
*UBB-Code ist AN
Smilies Legende
Netiquette

10 20 40

Optionen Smilies in diesem Beitrag deaktivieren.
Signatur anfügen: die Sie bei den Voreinstellungen angegeben haben.

Wenn Sie bereits registriert sind, aber Ihr Kennwort vergessen haben, klicken Sie bitte hier.

Bitte drücken Sie nicht mehrfach auf "Antwort speichern".

*Ist HTML- und/oder UBB-Code aktiviert, dann können Sie HTML und/oder UBB Code in Ihrem Beitrag verwenden.

T H E M A     A N S E H E N
KlaK

Beiträge: 2329 / 84

Office 2010; Office365
Visual Basic

Hallo Marco,

meiner Ansicht nach gehört das zu den Grundlagen wenn man Programme schreiben möchte, ansonsten müßte man sich einen Filter auf die Spalte setzen und das ganze händisch kopieren ...

mit beiliegenden Code geht das, vergesse aber nicht diesen auch verstehen zu wollen ...

Code:

Sub KopierenZeilen()
Dim Zeile As Long
Dim ZeileMax As Long
Dim i As Long

Dim vorR As Long, vorS As Long ' Startwerte für Kopierwerte in Tabelle3
Dim sTest As String ' String enthält Vergleichswert
Dim tests As Long  ' Spalte für Vergleich in Ausgangstabelle

With Tabelle1
    ZeileMax = .UsedRange.Rows.Count
    n = 1
  vorR = 2: vorS = Asc("B") - 64
  tests = Asc("M") - 64
 
  While Not IsEmpty(Tabelle3.Cells(vorR, vorS))
    sTest = Tabelle3.Cells(vorR, vorS)
   
    For Zeile = 2 To ZeileMax
'        If .Cells(Zeile, 5).Value = sTest Then
        If .Cells(Zeile, tests).Value = sTest Then
            .Rows(Zeile).Copy Destination:=Tabelle2.Rows(n)
            n = n + 1
        End If
    Next Zeile
   
    vorR = vorR + 1
  Wend
End With

End Sub


Grüße
Klaus