VBA - Werte übertragen

Guten Morgen,

ich habe eine Frage zu VBA in Excel. Ich habe zwei Tabellen. In die eine werden Daten eingespeist von verkauften Produkten verschiedener Hersteller. Die letzte Zeile eines jeden Herstellers bildet dann noch einmal die Summe der insgesamt verkauften Produkte (z.B. „A5:A12“).

Diese Summe bestimmter Hersteller (nicht aller, die in der Tabelle vorhanden sind) - soll in eine andere Tabelle übertragen werden.

Dazu habe ich folgendes bisher erstellt:

Public Sub Übertragung()

Dim m As Single

m = 3

Do
m = m + 1
If Worksheets(„abcd“).Range(„B“ & m).Value = „Firmenname“ Then
Worksheets(„abcd“).Range(„C“ & m).Value = Worksheets(„dcba“).Range
(„B4“).Value
End If

Loop Until Worksheets(„abcd“).Range(„B“ & m).Value = „“

End Sub

Aber irgendwie überträgt er den Wert nicht in die Tabelle „dcba“ bzw. genauer in die Zelle „B4“ - warum macht er das nicht?

Eine Frage noch: Ich habe mehrere Hersteller (>6) - gibt es noch eine Möglichkeit, den o.g. Vorgang auszuführen, ohne das der Programmcode dabei vom umfang her explodiert?

Liebe Grüße
Happyness991

Worksheets(„abcd“).Range(„C“ & m).Value =
Worksheets(„dcba“).Range(„B4“).Value

Hallo Happyness991,

falschrum.
Worksheets(„dcba“).Range(„B4“).Value = Worksheets(„abcd“).Range(„C“ & m).Value

Nimm das mal als Ansatz:

Public Sub Übertragung()
Dim wks As Worksheet, Zei As Long, S As Double
Zei = 3
With Worksheets("bcda")
For Each wks In ThisWorkbook.Worksheets
 If wks.Name .Name Then
 Zei = Zei + 1
 S = wks.Cells(Rows.Count, 1).End(xlUp).Row
 .Cells(Zei, 2) = wks.Cells(S, 1)
 .Cells(Zei, 1) = wks.Name
 End If
Next wks
End With
End Sub

Gruß
Reinhard

Hallo Reinhard,

vielen Dank für deine Antwort. Sie hat mein Problem lösen können.

Liebe Grüße
Happyness991