Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1568to1572
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Arbeitsblätter automatisch befüllen

Arbeitsblätter automatisch befüllen
08.07.2017 10:05:19
Kiki
Hallo zusammen,
momentan bastel ich an einem umfangreichen Report und folgende Problemstellung hat sich ergeben:
Auf dem Arbeitsblatt 1 befinden sich statische Daten, die auf die anderen Arbeitsblätter übertragen werden müssen. Es handelt sich jedoch immer um unterschiedliche Daten. D.h. auf das Arbeitsblatt 2 sollen nur die Daten aus der Zeile "Arbeitsblatt 2" übertragen werden und auf das Arbeitsblatt 3 nur die Daten aus der Zeile "Arbeitsblatt 3" uswusf.
In einer deutlich vereinfachten Datei habe ich das mal versucht darzustellen:
https://www.herber.de/bbs/user/114757.xlsx
(tatsächlich handelt es sich um 27 Arbeitsblätter).
Hat irgendjemand eine Idee, wie ich das lösen kann. Meine Schleife befüllt zwar alle Arbeitsblätter aber immer nur mit der ersten Zeile :-/
Vielen Dank vorab.
Grüße,
Kiki

9
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Arbeitsblätter automatisch befüllen
08.07.2017 10:09:09
Hajo_Zi
wie macht man in einer Excel Tabelle eine Schleife?
Das konnte ich in der Datei nicht finden. Vielleicht schreiben in welcher Zelle es steht?
Gruß Hajo
Lass es doch einfach sein
09.07.2017 13:06:45
Werner
Hallo Hajo,
wenn du keine Bock hast zu helfen, dann lass es doch einfach und spar dir deine sinnlosen Kommentare.
Gruß Werner
AW: Arbeitsblätter automatisch befüllen
09.07.2017 12:50:06
Werner
Hallo Kiki,
so z.B.:
Public Sub Übertragen()
Dim i As Long
With Worksheets("Grundwerte")
For i = 3 To .Cells(.Rows.Count, 1).End(xlUp).Row
Worksheets(.Cells(i, 1).Value).Range("B2") = .Cells(i, 2)
Worksheets(.Cells(i, 1).Value).Range("D2") = .Cells(i, 3)
Worksheets(.Cells(i, 1).Value).Range("F2") = .Cells(i, 4)
Next i
End With
End Sub
Gruß Werner
Anzeige
AW: Arbeitsblätter automatisch befüllen
10.07.2017 14:28:08
Kiki
Hallo Werner,
die Schleife funktioniert in der Beispieltabelle super, aber ich bekomme sie leider nicht auf meine Tabelle umgemünzt.
Die zu übertragenden Zellen befinden sich auf dem statischen Arbeitsblatt auf J6-J26 und sollen jeweils auf B4 übertragen werden. Ich habe jetzt diverse Versuche gestartet, aber es will nicht funktionieren. Bin mit VBA noch nicht so vertraut, dass ich das einfach mal so umschreiben kann.
Ideen? Ich bin am Verzweifeln...
Grüße,
Karina
AW: Arbeitsblätter automatisch befüllen
10.07.2017 14:58:14
Werner
Hallo Kiki,
das ist das Problem wenn man eine Beispieltabelle erstellt, die in ihrer Struktur vom Original abweicht.
Jetzt nochmal:
die Namen der Blätter stehen wo?
die Daten die übertragen werden sollen stehen wo?
und sollen wohnin übertragen werden?
Am besten nochmal eine kleine Beispieltabelle, die aber in ihrer Struktur dem Original entspricht.
Gruß Werner
Anzeige
AW: Arbeitsblätter automatisch befüllen
11.07.2017 09:08:51
Kiki
Hallo Werner,
ich hatte den Ehrgeiz das allein herauszubekommen, aber irgendwo ist der Wurm drin.
Anbei eine Beispieltabelle, die dem Original gleicht (nur auf weniger Arbeitsblätter begrenzt):
https://www.herber.de/bbs/user/114798.xlsx
Danke vorab.
Grüße, Kiki
AW: Arbeitsblätter automatisch befüllen
11.07.2017 10:02:51
Werner
Hallo Kiki,
du solltest schon darauf achten, dass die Blattnamen im Blatt "Hilfstabelle" mit den tatsächlichen Blattnamen übereinstimmen.
Im Blatt Hilfstabelle hast du: Tabelle 3 / Tabelle 4 ....
Die Blätter heißen aber: Tabelle3 / Tabelle4 ...
einmal ein Leerzeichen zwischen Tabelle und der Zahl und einmal ohne Leerzeichen
Da läuft der Code in einen Laufzeitfehler 9
Das gleiche passiert, wenn du im Blatt "Hilfstabelle" mehr Tabellenblätter angegeben hast wie tatsächlich existieren, oder wenn du ein Tabellenblatt angegeben hast, das nicht existiert.
Ich hab jetzt mal noch eine Fehlerroutine mit eingebaut.
Teste mal, hochladen kann ich im Moment leider nichts. Einfach den Code so übernehmen.
Public Sub Übertragen()
Dim i As Long
With Worksheets("Hilfstabelle")
For i = 6 To .Cells(.Rows.Count, 4).End(xlUp).Row
On Error Resume Next
Worksheets(.Cells(i, 4).Value).Range("D4") = .Cells(i, 10)
If Err.Number = 9 Then
MsgBox "Tabellenblatt   " & "'" & .Cells(i, 4).Value & " '" & _
"   existiert nicht oder der Name" & vbLf & _
"in Blatt Hilfstabelle weicht vom tatsächlichen Blattnamen ab."
On Error GoTo 0
End If
Next i
End With
End Sub

Gruß Werner
Anzeige
AW: Arbeitsblätter automatisch befüllen
11.07.2017 17:58:22
Kiki
Hallo Werner,
vielen Dank für die Lösung. Mein Fehler war tatsächlich, dass ich leere Zeilen hatte und diese haben den Laufzeitfehler verursacht. Eigentlich logisch.
Funktioniert bestens :-) :-) :-)
Liebe Grüße,
Kiki
Gerne u. Danke für die Rückmeldung. o.w.T.
11.07.2017 19:42:38
Werner

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige