Registriert seit: 10.04.2014
Version(en): 2016 + 365
25.05.2017, 11:37
(Dieser Beitrag wurde zuletzt bearbeitet: 25.05.2017, 11:37 von Rabe.
Bearbeitungsgrund: Frage erweitert
)
Hi, ich dachte, wenn ich ein Sheet aktiviere und eine Zelle selektiere, dann wird sie auch angezeigt, das ist aber nicht so. Welcher Befehl fehlt noch? Option Explicit
Private Sub Workbook_Open() Dim i As Integer With Sheets(strJahr) .EnableSelection = xlUnlockedCells i = .Cells(.Rows.Count, "B").End(xlUp).Row .Activate .Cells(i + 1, 2).Select End With End Sub Und warum wird bei diesem Code trotzdem nachgefragt, ob ich speichern will, wenn ich die Datei schließe? Private Sub Workbook_BeforeClose(Cancel As Boolean)
' strJahr = Year(Now)
Sheets(strJahr).Activate
If ThisWorkbook.Saved = False Then
Application.DisplayAlerts = False
ThisWorkbook.Save
Application.DisplayAlerts = True
End If
End Sub
Registriert seit: 10.04.2014
Version(en): Office 2007, 2016, Win 10 64 bit
Hi Ralf, mir nicht verständlich, daß dein Code trotz Option Explicit nicht meckert. Code: Private Sub Workbook_Open() Dim strJahr Dim i strJahr = "Tabelle1" With Sheets(strJahr) .EnableSelection = xlUnlockedCells i = .Cells(.Rows.Count, "B").End(xlUp).Row .Activate .Cells(i + 1, 2).Select End With End Sub
So funktioniert es bei mir korrekt und die nächste leere Zelle in B wird aktiviert.
Mit freundlichen Grüßen :) Michael
Registriert seit: 10.04.2014
Version(en): 2016 + 365
25.05.2017, 12:39
(Dieser Beitrag wurde zuletzt bearbeitet: 25.05.2017, 12:39 von Rabe.)
Hi Michael, (25.05.2017, 11:38)Zwergel schrieb: mir nicht verständlich, daß dein Code trotz Option Explicit nicht meckert. jetzt geht es bei mir plötzlich auch wieder. Excel meckert nicht, weil strJahr eine Public-Const im Modul "mdl_Variablen" ist. Zum zweiten Makro: Wenn ich auf das Close-Kreuz drücke, wird die Mappe gespeichert, dann fragt Excel aber nach, ob die Datei gespeichert werden soll und dann wird sie bei "Ja" oder "Nein" geschlossen. Weitere Auffälligkeit: wenn ich diese Datei aus einer anderen Datei heraus (mit dem dortigen Workbook_Open) öffne, wird in dieser Datei das Workbook_Open (wie oben gezeigt) nicht beachtet.
Registriert seit: 12.10.2014
Version(en): 365 Insider (32 Bit)
Moin Ralf! Zu Deiner zweiten Frage aus der Eröffnung: Ich nehme so etwas, dann wird problemlos ohne Nachfrage gepeichert. Code: Private Sub Workbook_BeforeClose(Cancel As Boolean) If Not Me.Saved Then Me.Save End Sub
Gruß Ralf
Gib einem Mann einen Fisch und du ernährst ihn für einen Tag. Lehre einen Mann zu fischen und du ernährst ihn für sein Leben. (Konfuzius)
Registriert seit: 10.04.2014
Version(en): 2016 + 365
25.05.2017, 13:40
(Dieser Beitrag wurde zuletzt bearbeitet: 25.05.2017, 13:41 von Rabe.)
Hi Ralf,
auch damit kommt bei mir eine Nachfrage.
I werd no narrisch! (österreichisch, weil ich grad 3sat Ö anschaue :) )
Wo könnte denn da noch was stehen, daß ein Speichern fordert?
Registriert seit: 12.10.2014
Version(en): 365 Insider (32 Bit)
Ohne Datei nur die Mutmaßung, dass noch etwas in DieseArbeitsmappe steht.
A pro pos Speichern: Ich kümmere mit jetzt um =WECHSELN("Speichern";"r";"")
Heißt, ich werde jetzt die Speichen meines Fahrrads in Bewegung setzen. ;)
Gruß Ralf
Gib einem Mann einen Fisch und du ernährst ihn für einen Tag. Lehre einen Mann zu fischen und du ernährst ihn für sein Leben. (Konfuzius)
Registriert seit: 29.09.2015
Version(en): 2030,5
25.05.2017, 19:05
(Dieser Beitrag wurde zuletzt bearbeitet: 25.05.2017, 19:05 von snb.)
Code: Private Sub Workbook_Open() Application.goto Sheets(year(date)).cells(rows.count,1).end(xlup) End Sub
Registriert seit: 29.09.2015
Version(en): 2030,5
Gibt's etwas hier ? Code: Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
End Sub
oder Code: Private Sub Workbook_AfterSave(ByVal Success As Boolean)
End Sub
Registriert seit: 10.04.2014
Version(en): 2016 + 365
27.05.2017, 10:52
(Dieser Beitrag wurde zuletzt bearbeitet: 27.05.2017, 10:52 von Rabe.)
Hallo Ralf, (25.05.2017, 13:51)RPP63 schrieb: Ohne Datei nur die Mutmaßung, dass noch etwas in DieseArbeitsmappe steht. Datei 1: Microsoft Excel Objekt DieseArbeitsmappeOption Explicit
Private Sub Workbook_Open() Dim Pfad As String With Sheets(strWetter) .EnableSelection = xlUnlockedCells i = .Cells(.Rows.Count, "B").End(xlUp).Row .Activate .Cells(i + 1, 2).Select End With Application.ScreenUpdating = False Pfad = ActiveWorkbook.Path Workbooks.Open Pfad & "\Wetterdaten-Stunde.xlsb" Application.ScreenUpdating = True End Sub
Private Sub Workbook_BeforeClose(Cancel As Boolean) With Sheets(strWetter) .EnableSelection = xlUnlockedCells .Activate loLetzte = .Cells(Rows.Count, 2).End(xlUp).Row ' letzte belegte Zelle in Spalte B Application.Goto .Cells(loLetzte, "B"), True ' anspringen der letzten belegten Zelle End With Application.ScreenUpdating = False ThisWorkbook.Save Application.ScreenUpdating = True End Sub
Datei 2, durch 1 geöffnet: Microsoft Excel Objekt DieseArbeitsmappeOption Explicit
Private Sub Workbook_Open() With Sheets(strJahr) .EnableSelection = xlUnlockedCells i = .Cells(.Rows.Count, "B").End(xlUp).Row .Activate .Cells(i + 1, 2).Select End With End Sub
Private Sub Workbook_BeforeClose(Cancel As Boolean) ' strJahr = Year(Now) ' Sheets(strJahr).Activate ' If ThisWorkbook.Saved = False Then ' Application.DisplayAlerts = False ' ThisWorkbook.Save ' Application.DisplayAlerts = True ' End If
If Not Me.Saved Then Me.Save
End Sub
'Private Sub Workbook_SheetActivate(ByVal Sh As Object) ' With Sheets("Ertrag PV-Anlage") ' Call AllePivotTabellenaktualisieren ' End With 'End Sub '
Registriert seit: 10.04.2014
Version(en): 2016 + 365
Hi, (25.05.2017, 19:05)snb schrieb: Code: Private Sub Workbook_Open() Application.goto Sheets(year(date)).cells(rows.count,1).end(xlup) End Sub
ja, so geht es auch! Das habe ich jetzt verwendet.
|