Thema Datum  Von Nutzer Rating
Antwort
Rot Bedingtes Kopieren mit Splittung Zeile
11.03.2015 13:39:48 Dom
NotSolved
11.03.2015 21:28:55 Gast65178
NotSolved
12.03.2015 10:00:56 Dom
NotSolved
12.03.2015 16:37:44 Gast81288
NotSolved
18.03.2015 10:22:22 Dom
Solved

Ansicht des Beitrags:
Von:
Dom
Datum:
11.03.2015 13:39:48
Views:
1228
Rating: Antwort:
  Ja
Thema:
Bedingtes Kopieren mit Splittung Zeile

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


Ihre Antwort
  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen
Thema: Name: Email:



  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen

Thema Datum  Von Nutzer Rating
Antwort
Rot Bedingtes Kopieren mit Splittung Zeile
11.03.2015 13:39:48 Dom
NotSolved
11.03.2015 21:28:55 Gast65178
NotSolved
12.03.2015 10:00:56 Dom
NotSolved
12.03.2015 16:37:44 Gast81288
NotSolved
18.03.2015 10:22:22 Dom
Solved