ich komme mit meinem Problem leider doch nicht weiter obwohl ich dachte ich hätte es :(
das Problem ist fogendes:
In einem Arbeistblatt werden in den Zellen ("A18:V18") Werte aus einem anderen Arbeitsblatt eingefügt, nämich Mengen von bestellten Waren! Wenn mal von einer bestimmten Ware nichts bestellt wurde bleibt die entsprechende Zelle eben leer.
Durch ein weiteres Makro wird aus einer Preisliste in den Zellen darunter ("A19:V19") der entsprechende Preis eingefügt, der allerdings variieren kann
Nun soll aber kein Preis eingetragen werden, wenn in der darüber liegenden Zelle auch kein Wert eingetragen ist, also nichts bestellt wurde, weil das einfach unprofessionell wirkt!
Dieser Vorgang wiederholt sich jetzt einige male! Es werden also wieder andere Bestellungen kopiert und in die Zellen ("A27:V27") eingefügt und die entsprechenden Preise in die Spalte darunter ("A28:V28")
usw...
Mit den Bestellungen funktioniert alles nur bei den Preisen komm ich eben nicht drauf, wie das Makro eigenständig prüfen kann, ob in der Zelle darüber eben etwas steht...
Der Code für das Einfügen der Preise geht im Moment so:
Sub Rechnung_W_Preise()
'Kopier- und Einfügecode
With Worksheets("pliste")
.Activate
'Bereich 1
.Range("B73:W73").Copy
Sheets("Rechnung_W").Range("A19").PasteSpecial Paste:=xlPasteValues
'Bereich 2
.Range("B66:W66").Copy
Sheets("Rechnung_W").Range("A28").PasteSpecial Paste:=xlPasteValues
'Bereich 3
.Range("B80:W80").Copy
Sheets("Rechnung_W").Range("A37").PasteSpecial Paste:=xlPasteValues
'etc...
End With
End Sub
Ich hatte schon von INgolf folgenden Ansatz bekommen:
Sub Rechnung_W_Preise()
Dim rng As Range
For Each rng In Sheets("Rechnung_G").Range("A18:V18")
If rng > 0 Then
.Range("B73:W73").Copy
Sheets("Rechnung_G").Cells(19, rng.Column).PasteSpecial Paste:=xlPasteValues
End If
Next 'rng
End Sub
irgendwie trägt das Makro aber immernoch alle kopierten Preise ein, auch wenn darüber kein Wert steht!
Außerdem weiß ich nicht wie ich die Schleife erweitere, um auf den nächsten Bereich überzugehen...
Bin eben noch ziemlich am Anfang mit meinen VBA Kentnissen!
Ich bin also weiterhin für jeden Tip dankbar
Gruß, Toni