VisualBasic Bestimmte Zeilen in anderes Tabellenblatt kopieren

little-key

Cadet 2nd Year
Registriert
Jan. 2009
Beiträge
28
Hallo Leute,

benötige ganz schnell mal wieder Hilfe:

Ich habe ein Tabellenblatt namens "Convert". In Spalte D können Einträge stehen #NV.
Wenn diese vorhanden sind möchte ich, dass die gesamte Zeile in das neue vorhandene Tabellenblatt "New" kopiert wird.

Hat jemand da auf die Schnelle was für mich? Stehe so richtig fest.

Danke und Grüße Mario
 
Wenns im Excel VBA ist, würde ich die Felder in Spalte D mit einer wenn-Funktion checken lassen ob was drin steht, wenn ja dann Zeile kopieren und in Tabellenblatt "New" einfügen.
 
Danke, aber keine so schöne Lösung.
VBA-Code mit Schleife wäre mir lieber.
 
Die einfachste und schnellste Methode wäre:

Sub Makro3()
Sheets("Convert").Select
Columns("D:D").Select
Selection.Sort Key1:=Range("D1"), Order1:=xlAscending, Header:=xlGuess, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
DataOption1:=xlSortNormal
Range("D1").Select
Rows("1:7").Select
Selection.Copy
Sheets("New").Select
Range("A1").Select
ActiveSheet.Paste
End Sub

Genauer müsste man wissen von wo bis wohin die Werte in den Zeilen überhaupt gehen.
 
Ich hab ja schon was, was aber in Zeile 5 Probleme macht, und ich nicht weiß warum. Dort sucht er doch in Spalte D nach #NV, doch dort wird immer gemeckert.

Code:
Dim a As Long, i As Long
a = 1 
Application.ScreenUpdating = False 
For i = 1 To 100
If Sheets("Convert").Cells(i, 4).Value = "#NV" Then 
Sheets("Convert").Select 
Rows(i).Copy
Sheets("New").Select 
Rows(a).Select 
a = a + 1
End If 
Next i 
Application.ScreenUpdating = True
 
little-key schrieb:
Ich hab ja schon was, was aber in Zeile 5 Probleme macht, und ich nicht weiß warum. Dort sucht er doch in Spalte D nach #NV, doch dort wird immer gemeckert.

Code:
Dim a As Long, i As Long
a = 1 
Application.ScreenUpdating = False 
For i = 1 To 100
If Sheets("Convert").Cells(i, 4).Value = "#NV" Then 
Sheets("Convert").Select 
Rows(i).Copy
Sheets("New").Select 
Rows(a).Select 
a = a + 1
End If 
Next i 
Application.ScreenUpdating = True

Das Problem ist das "#NV". Benutze ein anderes Zeichen für "#" oder lass es weg dann läuft es.

Edit:
#NV ist eine Fehlermeldung und kein String, somit müsste man den Fehler vorher abfangen, bedingte Formatierung anwenden (gleiche Tabelle nicht bezogen auf die Kopiererei) oder neue Spalte neuen Wert zuordnen.
 
Zuletzt bearbeitet:
Ist schon ein Prima Hinweis, Danke.

Aber das #NV wird duch SVERWEIS erzeugt.
Nun wollte ich das aut. umbenennen lassen und die Suche danach funktioniert nicht und umbenennen erst recht nicht.
Ev. Zellenformat??
 
um den Fehler abzufangen:
Code:
=wenn(sverweis(Suchbegriff; Suchmatrix; 1; wahr) = Suchbegriff; Sverweis(Suchbegriff;  Suchmatrix; 2; wahr); "Fehlermeldung hier eingeben")
 
Würde gern mal darauf zurück kommen. Funktioniert bei mir nicht so richtig.
Muss aber jetzt weg.

Schon mal besten Dank für die Hinweise.
 
Zurück
Oben