Guten Tag
Ich habe ein Formular, dass ich für einen Export bzw. Import in Programm auswerten muss. Pro Zeile gibt es 20 relevante Einträge, die ich mir in die Spalten V bis AO übertrage. Diese Daten will ich nun in ein separates Tabellenblatt kopieren, was ich teilweise halbwegs geschafft habe.
In der Spalte V ist eine Referenznummer und wird bei jeder Abfrage übertragen. Wenn diese leer ist, ist alles in V bis AO leer (Das habe ich Formeln defniert) und die Zeile soll dann auch gar nicht kopiert werden.
Für den Export benötige ich pro Abfrage 4-5 Felder. Beim Import benötige ich immer 5 Felder. D.h. das heisst für die erste Abfrage jeweils V, W, X, (Y), AO. Für die zweite Abfrage jeweils V, Z, AA, AO. Für die dritte V, AB, AC, AO usw. Wenn eine der Abfragen leer ist (entscheidend ist die zweite Variable, also W, Z, AB, usw.).
Meine Probleme sind folgende:
-
In der ersten Abfrage habe ich 5 Einträge, wobei Y auch leer sein kann, dann wird eifach eine leere Zelle in Spalte D kopiert. In der zweiten und weiteren Abfragen habe ich dann nur noch 4 Einträge. Wie komme ich also zum leeren Eintrag in D, ohne x leere spalten einfügen zu müssen?
-
Ich weiss nicht, wie ich die zwei bzw. alle Bedingungen zusammenführe, so dass zuerst die ganze Zeile mit allen Bedingungen ausgeführt wird und erst dann die nächste Zeile überprüft wird.
-
Wenn eine Abfrage leer ist (entscheidend ist wie erwähnt die zweite Variable), dann soll es gar nicht erst kopiert werden.
Hier mein code:
Sub test()
Dim r As Range, n As Long, i As Long
'For Each r In Range("a1", Range("a" & Rows.Count).End(xlUp))
' n = n + 1
' r.Range("V9,W9,X9,Y9,AO9").Copy Sheets(6).Cells(n, 1)
'Next
' or
For i = 1 To Range("V" & Rows.Count).End(xlUp).Row
Cells(i, 1).Range("V9,W9,X9,Y9,AO9").Copy Sheets(6).Cells(i, 1)
'Cells(i, 1).Range("V9,Z9,AA9,AO9").Copy Sheets(6).Cells(i, 1)
'Cells(i, 1).Range("V9,AB9,AC9,AO9").Copy Sheets(6).Cells(i, 1)
Next
End Sub
Noch eine weitere Frage:
Kann ich via Comandbutton oder Beforeprint das Daten-Tabellenblatt als .CSV-Datei automatisch speichern?
Ich hoffe ihr versteht was ich meine und könnt mir helfen.
Gruss Dom
|