Zelleninhalte in eine andere tabelle kopieren?

Lieber fwerner
Bitte habe noch etwas Geduld
Nächste Woche habe ich Zeit für deine Frage
(Bin schon dran)

Hallo Jochen11,

habe folgendes problem, hoffe du kannst mir helfen:

in einem tabellenblatt1 sollen die Zellinhalte der Spalte „D“ mit den Zellinhalten vom anderen tabellenblatt2 Spalte „B“ verglichen werden, wenn die zellinhalte gleich sind dann sollen zellinhalte tabellenblatt1 spalte „J“ mit den Zellinhalten tabellenblatt2 spalte „E“ multipliziert werden. und die ausgabe erfolgt dann im tabellenblatt3 Range(„B20“)

zellinhalte im tabellenblatt1 beginnen ab der zeile 5 und im tabellenblatt2 ab der zeile 2.

wenn du fragen zu meiner aufgabe habt, beantworte ich die gerne.

habe schon ein code geschrieben, aber mit dem klappt irgendwie nicht…

Sub programm()

Dim Zeile As Long
Dim Zeile1 As Long
Dim Zeile2 As Long
Dim Zeile3 As Long

Zeile = 2
Zeile1 = 2
Zeile2 = 5

Do Until (Sheets(„tabellenblatt2“).Cells(Zeile + 1, 1) = „“)
If (Sheets(„tabellenblatt2“).Cells(Zeile1 + 1, 2).Value = Sheets(„tabellenblatt1“).Cells(Zeile2 + 1, 4).Value) Then
Sheets(„tabellenblatt3“).Cells(20, 2) = Sheets(„tabellenblatt2“).Cells(Zeile2 + 1, 5).Value * Sheets(„tabellenblatt1“).Cells(Zeile3 + 1, 10).Value
End If

Zeile = Zeile + 1

Loop

End Sub

Hallo fwerner
Leider kann ich dir den Code nicht als Excel-File schicken.
Darum versuche ich das mal so:

Hier dein Code mit Kommentaren:

Sub programm()

Dim Zeile As Long
Dim Zeile1 As Long
Dim Zeile2 As Long
Dim Zeile3 As Long

Zeile = 2
Zeile1 = 2
Zeile2 = 5

Do Until (Sheets(„Tabelle1“).Cells(Zeile + 1, 1) = „“) 'Warum frägst du hier Spalte A ab? Zudem, wird mit den „+ 1“ die letzte Zeile mit Inhalt ignoriert.

If (Sheets(„Tabelle2“).Cells(Zeile1 + 1, 2).Value = Sheets(„Tabelle1“).Cells(Zeile2 + 1, 4).Value) Then

Sheets(„Tabelle3“).Cells(20, 2) = Sheets(„Tabelle2“).Cells(Zeile2 + 1, 5).Value * Sheets(„Tabelle1“).Cells(Zeile3 + 1, 10).Value 'Variable „Zeile3“ wurde nie deklariert

End If

Zeile = Zeile + 1

Loop

End Sub

Hier mein Vorschlag:

Sub programm1()
Dim Zeile1 As Long
Dim Zeile2 As Long

Zeile1 = 5
Zeile2 = 2

Do Until (Sheets(„Tabelle1“).Cells(Zeile1, 4) = „“) 'Habe Spalte D genommen?

If (Sheets(„Tabelle2“).Cells(Zeile2, 2).Value = Sheets(„Tabelle1“).Cells(Zeile1, 4).Value) Then

Sheets(„Tabelle3“).Cells(20 + Zeile2, 2) = Sheets(„Tabelle2“).Cells(Zeile2, 5).Value * Sheets(„Tabelle1“).Cells(Zeile1, 10).Value

End If

Zeile1 = Zeile1 + 1
Zeile2 = Zeile2 + 1

Loop

End Sub

Wenn du noch fragen hast, oder Änderungen vornehmen musst, melde dich einfach

Grüezi fwerner
Ich habe einen Lösungsvorschlag (in Word kopiert 4 Seiten)
Wie kann ich dies übermitteln? zB. mit EMail als Anhang?
Müsste dann deine Mailadresse haben

MFG
A. Stürmlin

danke für deine bemühungen!

ich hab schon mein problem selbst gelöst!

MfG
fwerner