Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1936to1940
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
VBA letzte Zeile, drei oberhalb kopiern
13.07.2023 14:05:30
Gerlinde
hallo ihr lieben profis,

das letzte mal habe ich vor mehr als 15 jahren etwas im excel mit vba machen dürfen. nun soll ich eine kleine abfrage erstellen und komme nicht vom fleck und würde euch bitte mir zu helfen.
folgende ausgangslage:
es gibt ein blatt "übersicht" in dem eine zusammenfassung dargestellt werden soll. die übersicht soll von weiteren blättern (welche in der anzahl mehr werden und jede anders heißt) geholt werden. hierzu soll aus den anderen blättern jeweils der letzte eintrag (zeile) gesucht werden. vom letzten eintrag ausgehend sollen dieser und der oberhalb liegende eintrag kopiert (spalten a:i) werden und im blatt übersicht angezeigt werden.

ich kann zwar die letzte zeile finden - Cells(Cells(Rows.Count, 1).End(xlUp).Row, 1).Select
oder auch die letzten beiden zeilen und diese kopieren
Dim loLetzte As Long
With Worksheets("1824")
loLetzte = .Cells(.Rows.Count, 1).End(xlUp).Row
.Rows(loLetzte - 1 & ":" & loLetzte).Copy .Rows(loLetzte + 1)
'.Range(Cells(1, 2), .Cells(1, 3)).ClearContents
End With

oder auch noch die obersten zeilen aller blätter auf das blatt "übersicht" zu kopieren
Dim i, l As Long
l = Worksheets("übersicht").Cells(Rows.Count, 1).End(xlUp).Row + 1
For i = 4 To Sheets.Count
With Worksheets("übersicht")
.Cells(l, 1).Value = Sheets(i).Cells(2, 1).Value
.Cells(l, 2).Value = Sheets(i).Cells(2, 2).Value
.Cells(l, 3).Value = Sheets(i).Cells(2, 3).Value
.Cells(l, 4).Value = Sheets(i).Cells(2, 4).Value
.Hyperlinks.Add Anchor:=.Cells(l, 5), Address:="", _
SubAddress:="'" & Sheets(i).Cells(1, 2).Value & "," & Sheets(i).Cells(2, _
2).Value & "'!A1", TextToDisplay:="mehr..."
End With
l = l + 1
Next

aber ich schaffe es eben nicht dies so zu gestallten, wie oben angegeben. jeweils die letzten beiden zeilen (spalten a:i) zu transferieren.
dashalb ersuche ich euch um entsprechende hilfestellung
danke. gerlinde

13
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: VBA letzte Zeile, drei oberhalb kopiern
13.07.2023 16:07:58
Mustafa B.
Hallo Gerlinde,

den Code in das Modul der Arbeitsmappe kopieren und testen.

Private Sub Workbook_SheetActivate(ByVal Sh As Object)

Dim WKS1 As Worksheet, WKS2 As Worksheet
Dim WKS1LoLetzte As Long, WKS2LoLetzte As Long

Set WKS2 = Worksheets("Übersicht")                                      'WKS2 Namen Festlegen zum Vergleich und Übertrag der Daten

If Not ActiveSheet.Name = WKS2.Name Then Exit Sub                       'Code abbrechen wenn nicht Tabelle Übersicht gewählt wird

For Each WKS1 In ThisWorkbook.Worksheets
    If WKS1.Name > WKS2.Name Then                                      'Vergleiche Tabellennamen um nicht Tabelle Übersicht zu kopieren
        WKS1LoLetzte = WKS1.Cells(WKS1.Rows.Count, 1).End(xlUp).Row     'Letzte Zeile der zu kopierenden Tabelle finden
        WKS2LoLetzte = WKS2.Cells(WKS2.Rows.Count, 1).End(xlUp).Row + 1 'Letzte Zeile der Übersicht Tabelle finden
        WKS2.Range(WKS2.Cells(WKS2LoLetzte, 1), WKS2.Cells(WKS2LoLetzte + 1, 9)).Value = WKS1.Range(WKS1.Cells(WKS1LoLetzte - 1, 1), WKS1.Cells(WKS1LoLetzte, 9)).Value
    End If
Next

End Sub
Gruß Mustafa

Anzeige
VBA letzte Zeile, drei oberhalb kopiern
17.07.2023 08:19:15
Gerlinde
Danke Mustafa.

wie im ersten Beitrag erwähnt ist es bei mir bereits mehr als 15 Jahre her, dass ich mit VBA was gemacht habe ...
Wäre es möglich, deinen Code mit so zur Verfügung stellen, dass ich nur Copy&Past machen brauch? Ich hab´s nicht zusammengebracht.
Danke im Voraus für den Support.

LG Gerlinde

AW: VBA letzte Zeile, drei oberhalb kopiern
17.07.2023 08:40:24
Ulf
Hi,
der Code funktioniert so nicht weil keine letzten Zellen/pro Blatt ermittelt werden; wie startest du im Moment das Makro per Schaltfläche/Menü/Manuell.
Sende bitte eine bis auf das Blatt Übersicht leere Tabelle mit File-Upload hierher.
Dann stell ich dir das ausführbar rein.
Gruß
Ulf

Anzeige
VBA letzte Zeile, drei oberhalb kopiern
17.07.2023 10:14:15
Gerlinde
angedacht ist es so, dass über eine Schaltfläche die Infos aus den jeweiligen Blättern gezogen wird. Diese Schaltfläsche ist bereits vorhanden, jedoch in der Funktionalität noch anders eingebunden und ist deshalb entsprechend anzupassen.

AW: VBA letzte Zeile, drei oberhalb kopiern
17.07.2023 10:18:15
Ulf
...in Arbeit

AW: VBA letzte Zeile, drei oberhalb kopiern
17.07.2023 10:59:51
Ulf
So Gerlinde,
habs in dein Aktualisieren-Makro gepackt, solltest dass auch lesen können, hab in Übersicht in Spalte K einmal den Urpsrung geschrieben, wenn das verlinkt werden soll pass ich es dir an. Meldung denn pls
https://www.herber.de/bbs/user/159958.xlsm
hth
Ulf

Anzeige
VBA letzte Zeile, drei oberhalb kopiern
18.07.2023 08:36:43
Gerlinde
Hallo Ulf.

Bist Klasse!!!! Danke. Funktioniert prima. Das mit dem Verlinken ist derzeig keine Notwendigkeit.

Eine andere Frage habe ich ... ist es möglich, wie bisher die letzte Zeile zu suchen und, wenn die letzte beschriebene Zeile durchgestrichen ist, zu ignorieren und die erste, von unten beginnend, nicht durchgestrichene Zeile zu kopieren, erstens? zweitens, wenn in einem Blatt alle Zeilen durchgestrichen sind dieses Blatt zu ignorieren?

GLG Gerlinde

AW: VBA letzte Zeile, drei oberhalb kopiern
18.07.2023 08:51:05
Ulf
Moin Gerlinde,
etwas präziser, dann kann ich beide bejahen:
Durchgestrichen meint nicht (bei 4 Spalten)
DurchgestrichenNormaler Text

sondern:
DurchgestrichenDurchgestrichenDurchgestrichenDurchgestrichen

Bitte Antwort, dann hast du das bis ca 11h
Grüße
Ulf

Anzeige
AW: VBA letzte Zeile, drei oberhalb kopiern
18.07.2023 09:02:24
Gerlinde
Hallo Ulf,

wenn´s bis morgen irgendwann fertig sein sollte langt das vollkommen aus.

Du hast recht, dass macht in der Programmierung bestimmt einen unterschied. Prinzipiell sind in der Zeile immer alle beschriebenen Spalten durchgestrichen.

LG
Gerlinde

AW: VBA letzte Zeile, drei oberhalb kopiern
18.07.2023 09:54:44
Ulf
Hallo Gerlinde,
ging wider Erwarten doch relativ einfach, hab mal ein paar Problemfälle konstru-und evaluiert:
Have it a Try (sollte schon problemlos tun)
https://www.herber.de/bbs/user/159968.xlsm
Grüße
Ulf

VBA letzte Zeile, drei oberhalb kopiern
24.07.2023 11:17:57
Gerlinde
Hallo Ulf, nochmals vielen Dank für deinen bisherigen Support. Du bist schneller beim Helfen als ich beim Probieren ... Es funktioniert mittlerweilen prima, nachdem ich auch verstanden habe, dass Durchgestrichen nicht gleich durchgestrichen ist. Ich hätte noch zwei (eigentlich drei, aber da will ich mich selbst versuchen) Fragen. a) jetzt ist es so, dass aus jedem Tabellenblatt 3 Zeilen in der Übersicht dargestellt werden, welche nicht durchgestrichen sind. Wenn ein Blatt jedoch nur einen oder zwei Einträge enthält, dass wird auch stets die "Kopfzeile" (Zeile 1) mit in die Übersicht übertragen. Ist es möglich, dass in so einem Fall diese Kopfzeile nicht übertragen oder einfach gelöscht wird? b) ich möchte mittels Inputbox, von dem Übersichtsblatt aus zu aktivieren, nach einen Tabellenblatt (KST) suchen und dieses dann anzeigen lassen. Also das gesuchte und hoffentlich vorhandene Blatt anzeigen/aktivieren/hinsprigen. Kannst du mir hier behilflich sein? Lg Gerlinde
Anzeige
VBA letzte Zeile, drei oberhalb kopiern
24.07.2023 14:10:55
Gerlinde
Hallo,

den Punkt b, das mit der Inputbox, habe ich nun doch selber lösen können. Somit wäre nur Punkt a offen

lg
gerlinde

321 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige