Hallo,
ich habe folgendes Problem:
Ich möchte in Visual Basic einen Code schreiben mit dem ich eine bestimmte Anzahl an Zeilen kopieren kann.
Im SAP lassen sich auf der Oberfläche immer nur 21 Zeilen einfügen. Wir haben in Visual Basic bereits einen Code mit dem wir die Daten von einer Website unseres Kunden ins SAP Format konvertieren können. Diese konvertieren Daten sollen dann mithilfe eines Buttons in die zwischenablage kopiert werden, sodass sie im SAP mit STRG + V eingefügt werden können. Das Problem ist, dass die Daten unseres Kunden variabel sind. Heißt: Mal sind es 48 mal 34 mal 60, etc..! Excel soll aber nun immer nur genau 21 Zeilen in die Zwischenablage nehmen und dann darauf warten, bis STRG + V gedrückt wurde bzw. es einfach eingefügt wurde. Dann soll es von 21 an wieder genau 21 kopieren (also bis 42) und wieder darauf warten bis es eingefügt wurde. Dabei sollte Excel automatisch erkennen wieviele Datensätze vorhanden sind. Wenn dann mal bei 34 schluss sein sollte, soll es auch nur von 21-34 kopieren!
Der Code zum Umwandeln der Daten ins SAP Format lautet:
Private Sub CommandButton1_Click()
Sheets("Paste").Select
Zeile = 1
Do While ActiveSheet.Range("A" & Zeile) <> ""
'MsgBox (ActiveSheet.Range("A" & Zeile))
Sheets("SAP").Range("A" & Zeile) = "T"
Sheets("SAP").Range("B" & Zeile) = "=MID(Paste!RC,9,2) & ""."" & MID(Paste!RC,6,2) & ""."" & LEFT(Paste!RC,4)"
Sheets("SAP").Range("C" & Zeile) = "00:00"
Sheets("SAP").Range("D" & Zeile) = "=Paste!RC[-1]"
Zeile = Zeile + 1
Loop
End Sub
Nun sollte CommandButton2_Click() den oben beschriebenen Befehl ausführen.
Kann mir jemand helfen?
Vielen Dank im Voraus!
|