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

Makro Zurückspringen

Makro Zurückspringen
Rolf
Hallo
Ich frage nach einem Makro für folgenden Zweck:
Ich habe ein Excel Programm mit Tabellenblättern "Woche1" bis "Woche54". Zusätzlich ein Tabellenblatt mit Namen "Gesamtergebnis". Jetzt springe ich von z.B. Tabellenblatt "Woche25" zu "Gesamtergebnis". Beim zurückspringen möchte ich wieder dort landen, wo ich abgesprungen bin, also "Woche25". In der nächsten Woche soll das gleiche Makro aber von "Woche26" ab- und zurückspringen. Also müsste der Name der aktiven Seite gespeichert werden.
Mit freundlichem Gruss und de Hoffnung auf besseres Wetter
Rolf K.

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Makro Zurückspringen
24.07.2011 19:40:22
Josef

Hallo Rolf,
besser währe, wenn du beschreibst, was das Makro machen soll, ein "springen" und ein "hüpfen" ist nämlich in 99,9% aller Fälle unnötig und unsinnig!

« Gruß Sepp »

AW: Makro Zurückspringen
24.07.2011 19:56:45
Rolf
Hallo Sepp
Makro1 Aufruf des Tabellenblattes "Gesamtergebnis"
Sub Gesamtergebnis
Sheets("Gesamtergebnis").Select
End Sub
Makro 2 Zurüch zum dem Tabelleblatt, von dem aufgerufen wurde
Funktioniert nur für ein Tabellenblatt
Sub zurueck()
Sheets("Woche1").Select
End Sub
Ich hoffe, damit etwas Klarheit geschaffen zu haben
Gruss Rolf K.
Anzeige
AW: Makro Zurückspringen
24.07.2011 20:04:03
Josef

Hallo Rolf,
dann sollte das genügen.
' **********************************************************************
' Modul: Modul2 Typ: Allgemeines Modul
' **********************************************************************

Option Explicit

Private objLastSheet As Worksheet
Sub Gesamtergebnis()
  Set objLastSheet = ActiveSheet
  Sheets("Gesamtergebnis").Activate
End Sub


Sub zurueck()
  If Not objLastSheet Is Nothing Then objLastSheet.Activate
End Sub



« Gruß Sepp »

Anzeige
Oder etwas rafinierter
24.07.2011 20:12:06
Josef

Hallo Rolf,
' **********************************************************************
' Modul: Modul2 Typ: Allgemeines Modul
' **********************************************************************

Option Explicit

Private objLastSheet As Worksheet
Sub Gesamtergebnis()
  Set objLastSheet = ActiveSheet
  Sheets("Gesamtergebnis").Activate
End Sub


Sub zurueck()
  Dim lngKW As Long
  If Not objLastSheet Is Nothing Then
    objLastSheet.Activate
  Else
    lngKW = DINKwoche(Date)
    If SheetExist("Woche" & lngKW) Then Sheets("Woche" & lngKW).Activate
  End If
End Sub


Private Function DINKwoche(ByVal Datum As Date) As Integer
  Dim tmp As Date
  tmp = DateSerial(Year(Datum + (8 - Weekday(Datum)) Mod 7 - 3), 1, 1)
  DINKwoche = ((Datum - tmp - 3 + (Weekday(tmp) + 1) Mod 7)) \ 7 + 1
End Function


Private Function SheetExist(ByVal sheetName As String, Optional Wb As Workbook) As Boolean
  Dim wks As Worksheet
  On Error GoTo ERRORHANDLER
  If Wb Is Nothing Then Set Wb = ThisWorkbook
  For Each wks In Wb.Worksheets
    If LCase(wks.Name) = LCase(sheetName) Then SheetExist = True: Exit Function
  Next
  ERRORHANDLER:
  SheetExist = False
End Function



« Gruß Sepp »

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige