Hallo,
leider schaffe ich es nicht den Fehler in meinem Makro zu finden und versuche es daher hier:
Aus der einen Excel-Arbeitsmappe (Mappe 1) soll der Zellinhalt von einer Zelle (z. B. Tabelle 1, G44) in eine andere Tabelle (Mappe2, Tabelle1) kopiert werden.
Das Problem:
die Position an der der Wert in Tabelle 2 eingefügt werden soll, soll sich anhand je eines Kriteriums aus Spalte A und Zeile 1 von Tabelle 2 ergeben. D. h. in Tabelle 2 stehen z. B. Kundennr. in Spalte 1 und Jahr in Zeile 1.
Der Wert von Zelle G44 soll in der Zelle in Tabelle 2 eingefügt werden, für den die dafür nötigen
Kriterien aus Tabelle 1 übernommen werden (d. h. Kundennr. und Jahr).
Habe versucht es mit einer verschachtelten for-each-Schleife zu lösen, was leider nicht klappt, da der "next"-Verweis nicht erkannt wird.
Wäre dankbar, wenn mir jemand erklären könnte was ich falsch mache.
Hier der Code:
Sub zelleKopieren()
Dim zelle As Range
Dim spalte As Range
'In Mappe1 ist Tabelle1 aus der Zelle G44 kopiert werden soll
Sheets("Mappe1").Activate
If (("Tabelle1!G44") <> "") Then
'For-each Schleife zur Bestimmung der Zielzelle und zum einfügen
'1. Schleife für das richtige Jahr
For Each zelle In Worksheets("Mappe2").Sheets("Tabelle2").Range("A1:A10000")
'2. Schleife für die richtige Kundennr.
For Each spalte In Worksheets("Mappe2").Sheets("Tabelle2").Range("A1:AF1")
If zelle.Value = Range("Tabelle1!G11").Value Then
If spalte.Value = Range("Tabelle1!G8").Value Then
zelle.Value = Worksheets("Mappe1").Range("G44")
End If
End If
Next zelle 'Fehlermeldung
Next spalte
'sofern nicht kopiert werden kann (weil Zelle G44 leer ist), soll folgender Text erzeugt werden.
Else
Range("Tabelle1!N130") = "konnte nicht kopiert werden"
End Sub