Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1648to1652
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

Alle Tablettenblätter abarbeiten ab dem 2. Sheet

Alle Tablettenblätter abarbeiten ab dem 2. Sheet
07.10.2018 10:39:14
Marc
Hi Community
Ich komme nicht weiter, ich habe einen VBA Code begonnen zu schreiben. Er ist noch nicht fertig, ich habe mal Schritt für Schritt begonnen, da ich im VBA noch ein Anfänger bin. Zuerst steuerte ich ein einzelnes Worskheet an, das funktionierte gut. Die Daten wurde an das Zielsheet "Abacus" übertragen. Der nächste Schritt sollte sein, alle Tabellenblätter ab dem 2. abzuarbeiten (das ist "Abacus"). Da geht gar nichts mehr.
Ich danke euch für eure Hilfe :)
Es grüsst euch
Marc
Mein Code:
Sub Daten_kopieren()
' ich möchte alle Tabellenblätter abarbeiten
Dim ws As Worksheet
For Each ws In Worksheets
If ws.Index > 1 Then
' Übertrag von der Bezeichnung
Startzeile = 8
Startspalte = 7
Zielzeile = 1
Zielspalte = 1
AnzahlZeilen = Cells(Rows.Count, 1).End(xlUp).Row
Do While Startzeile 

11
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Alle Tablettenblätter abarbeiten ab dem 2. Sheet
07.10.2018 10:52:19
Werner
Hallo Marc,
wenn ich dich richtig verstanden habe, dann willst du die Daten so übertragen.
Public Sub Daten_sammeln()
Dim loLetzte As Long
With Worksheets("Sitzhilfen")
loLetzte = .Cells(.Rows.Count, 7).End(xlUp).Row
.Range(.Cells(8, 7), .Cells(loLetzte, 7)).Copy Worksheets("Abacus").Cells(1, 1)
.Range(.Cells(8, 13), .Cells(loLetzte, 14)).Copy Worksheets("Abacus").Cells(1, 2)
End With
End Sub
Das jetzt nur mal für ein Blatt um zu sehen, ob ich da richtig liege. Wenn ja, dann weiter.
Gruß Werner
AW: Alle Tablettenblätter abarbeiten ab dem 2. Sheet
07.10.2018 10:58:34
Marc
Hallo Werner
Danke für die schnelle Antwort, ich werde es mal ausprobieren und melde mîch wieder...
Grüess
Marc
Anzeige
AW: Alle Tablettenblätter abarbeiten ab dem 2. Sheet
07.10.2018 11:05:08
Marc
Wow, ein unendlich langer Code ersetzt durch 6 Zeilen. Alles funktioniert, tiptop. Dann bleibt nur noch die Variante für alle Tabellenblätter ausser dem "Abacus" :)
AW: Alle Tablettenblätter abarbeiten ab dem 2. Sheet
07.10.2018 11:29:38
Werner
Hallo Marc,
dann versuch mal das hier (ungetestet)
Public Sub Daten_sammeln()
Dim loLetzte As Long, loLetzteZiel As Long
Dim ws As Worksheet
For Each ws In ThisWorkbook.Worksheets
Select Case ws.Name
Case "Abacus"
'nix machen
Case Else
With ws
loLetzte = .Cells(.Rows.Count, 7).End(xlUp).Row
With Worksheets("Abacus")
loLetzteZiel = .Cells(.Rows.Count, 1).End(xlUp).Offset(1).Row
If .Cells(1, 1) = "" Then loLetzte = 1
End With
.Range(.Cells(8, 7), .Cells(loLetzte, 7)).Copy _
Worksheets("Abacus").Cells(loLetzteZiel, 1)
.Range(.Cells(8, 13), .Cells(loLetzte, 14)).Copy _
Worksheets("Abacus").Cells(loLetzteZiel, 2)
End With
End Select
Next ws
End Sub
Gruß Werner
Anzeige
AW: Alle Tablettenblätter abarbeiten ab dem 2. Sheet
07.10.2018 11:44:57
Marc
Danke dir. Es werden alle Tabellenblätter abgearbeitet, allerdings nur immer bis zur 8. Zeile, dafür von der ersten Zeile an. Eigentlich wollte ich von der 8. aus starten und dann runter bis zum Ende. Da die Formel für mich schwer zu verstehen ist, suche ich noch :)
AW: Alle Tablettenblätter abarbeiten ab dem 2. Sheet
07.10.2018 11:45:08
Marc
Danke dir. Es werden alle Tabellenblätter abgearbeitet, allerdings nur immer bis zur 8. Zeile, dafür von der ersten Zeile an. Eigentlich wollte ich von der 8. aus starten und dann runter bis zum Ende. Da die Formel für mich schwer zu verstehen ist, suche ich noch :)
AW: Alle Tablettenblätter abarbeiten ab dem 2. Sheet
07.10.2018 11:49:05
Marc
Es funktioniert prima, wenn ich statt :
loLetzteZiel = .Cells(.Rows.Count, 1).End(xlUp).Offset(1).Row
loLetzteZiel = .Cells(.Rows.Count, 1).End(xlUp).Row
schreibe. Dann wird wird die Variable loLetzteZiel sauber abgefüllt. Vielen Dank Werner, für mich ein VBA-Gott:)
Grüess
Marc
Anzeige
AW: Alle Tablettenblätter abarbeiten ab dem 2. Sheet
07.10.2018 11:49:09
Werner
Hallo Marc,
sorry, mein Fehler, nicht richtig aufgepasst.
hier ist der Fehler:
If .Cells(1, 1) = "" Then loLetzte = 1

Das muss richtig heißen:
If .Cells(1, 1) = "" Then loLetzteZiel = 1
Gruß Werner
AW: Alle Tablettenblätter abarbeiten ab dem 2. Sheet
07.10.2018 11:53:13
Marc
Super, funktioniert auch mit dem
loLetzteZiel = .Cells(.Rows.Count, 1).End(xlUp).Offset(1).Row
Gerne u. Danke für die Rückmeldung. o.w.T.
07.10.2018 12:32:23
Werner
AW: Alle Tablettenblätter abarbeiten ab dem 2. Sheet
07.10.2018 11:49:12
Marc
Es funktioniert prima, wenn ich statt :
loLetzteZiel = .Cells(.Rows.Count, 1).End(xlUp).Offset(1).Row
loLetzteZiel = .Cells(.Rows.Count, 1).End(xlUp).Row
schreibe. Dann wird wird die Variable loLetzteZiel sauber abgefüllt. Vielen Dank Werner, für mich ein VBA-Gott:)
Grüess
Marc
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige