VisualBasic Bestimmte Zeilen in anderes Tabellenblatt kopieren

little-key

Cadet 2nd Year
Dabei seit
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
 

rebirther

Cadet 3rd Year
Dabei seit
Feb. 2006
Beiträge
35
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.
 

little-key

Cadet 2nd Year
Ersteller dieses Themas
Dabei seit
Jan. 2009
Beiträge
28
Danke, aber keine so schöne Lösung.
VBA-Code mit Schleife wäre mir lieber.
 

rebirther

Cadet 3rd Year
Dabei seit
Feb. 2006
Beiträge
35
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.
 

little-key

Cadet 2nd Year
Ersteller dieses Themas
Dabei seit
Jan. 2009
Beiträge
28
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
 

rebirther

Cadet 3rd Year
Dabei seit
Feb. 2006
Beiträge
35
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:

little-key

Cadet 2nd Year
Ersteller dieses Themas
Dabei seit
Jan. 2009
Beiträge
28
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??
 

rebirther

Cadet 3rd Year
Dabei seit
Feb. 2006
Beiträge
35
um den Fehler abzufangen:
Code:
=wenn(sverweis(Suchbegriff; Suchmatrix; 1; wahr) = Suchbegriff; Sverweis(Suchbegriff;  Suchmatrix; 2; wahr); "Fehlermeldung hier eingeben")
 

little-key

Cadet 2nd Year
Ersteller dieses Themas
Dabei seit
Jan. 2009
Beiträge
28
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.
 
Top