Betrifft: Makro_VBA_Durcheinander... HILFE
von: Hassan
Geschrieben am: 10.09.2019 17:38:24
Hallo ihr Lieben,
ich erhoffe mir, dass ich hier etwas Hilfe bekomme...
Ich habe eine Excel Liste, die mit Makros hinterlegt ist, leider zerschießt sie sich immer nach jeder Aktualisierung.
Da ich die Makros nicht selbst geschrieben habe, kann ich den Fehler, der sich hier eingeschlichen hat, nicht ausfindig machen.
Könntet ihr einen Blick darauf werfen und mir sagen wo der Fehler liegt?
Zum Hintergrund: Sobald man auf den Button "Aktualisieren" klickt, sollen die Informationen in den Worksheets auf dem Arbeitsblatt Overview zusammengefasst werden. (Firmenname und Datum).
Auf den ersten Blick scheint es so als ob die Intelligente Tabelle nicht mehr automatisch durch das Makro erweitert wird und das Makro daher Probleme hat die unterste freie Zeile zu finden und diese korrekt zu befüllen. So werden Daten überschrieben und aufgrund der fehlenden Tabelle die Formeln nicht automatisch erweitert.
Hier der dazugehörige Code:
Sub Aktualisierung_Overview() Dim letzte_zeile As Long Dim letzte_zeile2 As Long Dim letzte_zeile3 As Long Dim i As Long Dim ws As Worksheet Application.ScreenUpdating = False Sheets("Overview").Select With ActiveWorkbook.ActiveSheet On Error Resume Next .ShowAllData On Error GoTo 0 End With letzte_zeile2 = Range("B5").End(xlDown).Row With Worksheets("Overview") Rows("5:" & letzte_zeile2).Delete Shift:=xlUp For Each ws In ThisWorkbook.Worksheets If ws.Name <> "Inhaltsverzeichnis" And ws.Name <> "Overview" And ws.Name <> "Template" _ And ws.Name <> "Diagramm" Then With ws letzte_zeile = IIf(Len(.Cells(.Rows.Count, 1)), .Rows.Count, .Cells(.Rows.Count, 1).End( _ _ _ xlUp).Row) Debug.Print lngZeilen letzte_zeile = .Columns(1).Find("*", .Cells(1, 1), xlValues, xlWhole, , xlPrevious).Row Debug.Print lngZeilen End With For i = 5 To letzte_zeile letzte_zeile3 = Range("C3").End(xlDown).Row + 1 Sheets("Overview").Hyperlinks.Add Anchor:=Cells(letzte_zeile3, 2), Address:="", SubAddress:="'" _ _ _ & _ ws.Name & "'!A1", TextToDisplay:=ws.Name .Cells(Rows.Count, 3).End(xlUp).Resize(, 1) = _ ws.Cells(i, 1).Value Next i End If Next ws End With Rows("4").Delete Shift:=xlUp Application.ScreenUpdating = True End Sub
Betrifft: Am Einfachsten wäre es...
von: 1712330.html
Geschrieben am: 10.09.2019 18:43:09
Hi,
...wenn Du die Datei hier mal zur Verfügung stellen könntest (anonymisiert!).
Möglich?
VG, Boris
Betrifft: AW: Am Einfachsten wäre es...
von: 1712392.html
Geschrieben am: 11.09.2019 08:48:34
Hallo Boris,
ich habe gestern Abend durch Zufall die Lösung entdeckt ...
Auf der Arbeit nutze ich Windows 10 mit Excel 365.
Zu Hause habe ich die Tabelle mit Windows 10 aber Excel 2016 geöffnet und die Makros haben ohne Probleme funktioniert!
Liegt es hier wirklich an der Version? und wenn ja, wie kann ich es auf Excel 365 zum laufen bringen.
und klar, ich müsste nur einige Sachen schwärzen, dann könnte ich die Tabelle zur Verfügung stellen.
Betrifft: Schwer zu beurteilen...
von: 1712394.html
Geschrieben am: 11.09.2019 09:09:04
Hi,
...zumindest sehe ich in dem Code jetzt auf Anhieb nichts, was irgendwie versionsabhängig wäre.
Ich stell die Anfrage mal wieder auf "offen".
VG, Boris
Betrifft: AW: Schwer zu beurteilen...
von: 1712409.html
Geschrieben am: 11.09.2019 09:52:15
https://www.herber.de/bbs/user/131970.xlsm
Hallo Boris, anbei die Excel Liste ...
Vielleicht hast du eine Lösung
Betrifft: AW: Schwer zu beurteilen...
von: 1712450.html
Geschrieben am: 11.09.2019 13:04:08
Hallo Hassan,
ich hab dir das ganze Codegewirr mal umgeschrieben so wie ich denke, dass du es haben willst.
Lass mich wissen, ob es so ok ist.
Gruss Torsten
https://www.herber.de/bbs/user/131974.xlsm
Betrifft: AW: Schwer zu beurteilen...
von: 1712494.html
Geschrieben am: 11.09.2019 16:09:36
Hallo Torsten,
ich weiß gar nicht wie ich mich hierfür bedanken kann!
Genau so sollte es sein!
Danke Danke Danke! Tolles Forum und tolle Leute!
Du hast meinen Tag gerettet =D !!!
Viele liebe Grüße!
Betrifft: gerne...
von: 1712609.html
Geschrieben am: 12.09.2019 09:32:51
Hallo Hassan,
dafuer ist das Forum ja da.
Gruss