Microsoft Excel

Herbers Excel/VBA-Archiv

Excel VBA Makro Werte suchen,einfügen in Sheet2

Betrifft: Excel VBA Makro Werte suchen,einfügen in Sheet2 von: braun
Geschrieben am: 14.11.2014 10:32:22


Sheets(1).Select

Sheets.Add After:=Sheets(1)
Sheets(2).Name = "TabelleABC"
Sheets(1).Select
Rows("1:2").Select
Selection.Copy
Sheets(2).Select
Range("A1").Select
ActiveSheet.Paste

Sheets(1).Select

'Startzeile
startzeile = 2

Spalte = 14
grenzwert = 2

startzeile2 = 2
Spalte2 = 8
grenzwert2 = "Text1"
grenzwert3 = "Text2"
Spalte3 = 3
grenzwert4 = "Zahlenfolge1"
grenzwert5 = "Zahlenfolge2"
grenzwert6 = "Zahlenfolge3"

Sheets(1).Select

Letzte_Zeile = Range(Cells(65536, Spalte), Cells(65536, Spalte)).End(xlUp).Row

For i = startzeile To Letzte_Zeile

If Sheets(1).Cells(i, Spalte) > grenzwert And Sheets(1).Cells(i, Spalte2) = grenzwert2 And Sheets(1).Cells(i, Spalte3) = grenzwert4 Or Sheets(1).Cells(i, Spalte) > grenzwert And Sheets(1).Cells(i, Spalte2) = grenzwert2 And Sheets(1).Cells(i, Spalte3) = grenzwert5 Or Sheets(1).Cells(i, Spalte) > grenzwert And Sheets(1).Cells(i, Spalte2) = grenzwert2 And Sheets(1).Cells(i, Spalte3) = grenzwert6 Or Sheets(1).Cells(i, Spalte) > grenzwert And Sheets(1).Cells(i, Spalte2) = grenzwert3 And Sheets(1).Cells(i, Spalte3) = grenzwert4 Or Sheets(1).Cells(i, Spalte) > grenzwert And Sheets(1).Cells(i, Spalte2) = grenzwert3 And Sheets(1).Cells(i, Spalte3) = grenzwert5 Or Sheets(1).Cells(i, Spalte) > grenzwert And Sheets(1).Cells(i, Spalte2) = grenzwert3 And Sheets(1).Cells(i, Spalte3) = grenzwert6 Then

Sheets(1).Rows(i & ":" & i).Copy
Sheets(2).Select
Cells(startzeile2, 1).Select
ActiveSheet.Paste

startzeile2 = startzeile2 + 1

Else
End If

Next

Guten Morgen,
Habe eben eine Schleife erstellt, nur leider funktioniert es nicht.Das Makro kopiert lediglich nur die Überschriften.
Kann mir jemand helfen?
Vielen Dank im Voraus

  

Betrifft: Ohne Beispieldaten nicht zu machen von: Frank
Geschrieben am: 14.11.2014 12:48:09

Hallo,

das hier
Letzte_Zeile = Range(Cells(65536, Spalte), Cells(65536, Spalte)).End(xlUp).Row
wäre mir zu unübersichtlich. Ich würde das so schreiben
Letzte_Zeile = Range("N65536").End(xlUp).Row,
da Du ja sowieso Spalte fest den Wert 14 zugewiesen hast.
Wahrscheinlich ist aber der undurchsichtige IF-Vergleich nur für die Überschriftenzeile gültig und wird deshalb nur dort ausgeführt.

Gruss,
Frank


  

Betrifft: Excel VBA Makro Werte suchen,einfügen in Sheet2 von: braun
Geschrieben am: 14.11.2014 14:45:34


Dim arrSuchbegriff, i&
arrSuchbegriff = Array("123456789", "123456787", "123456786")
For i = LBound(arrSuchbegriff) To UBound(arrSuchbegriff)
ActiveSheet.Columns("A").Replace arrSuchbegriff(i), "#########", xlPart
Next i
ActiveSheet.Columns("A").AutoFilter Field:=1, Criteria1:="*#########*"
ActiveSheet.Cells.EntireRow.Delete

Dieser Code klappt jetzt super, allerdings löscht er mir die erste Zeile raus. Warum?


  

Betrifft: Anderes Problem? von: Frank
Geschrieben am: 14.11.2014 15:29:48

Bist Du Dir sicher, dass es da um's gleiche Problem geht? Und hast Du jetzt den Code vom ersten Beitrag durch diesen ersetzt?

Verstehe ich nicht und bin raus.

Grüsse,
Frank