Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Heute Arbeitsblatt wechsel

Forumthread: Heute Arbeitsblatt wechsel

Heute Arbeitsblatt wechsel
KON
Hallo Experten,
die folgende Auflistung funktioniert im aktiven Tabellenblatt. Wenn aber „Heute“ in einem anderen Tabellenblatt ist gibt es eine Fehlermeldung. Könnt ihr mir helfen und den VBA Code ändern.
Sub Heute()
Dim z As Range, sp As Range
Set sp = Range("B:GG")
For Each z In sp
If z.Value = Date Then
Cells(z.Row, z.Column).Select
Exit For
End If
Next z
End Sub
Danke für die Hilfe
Gruß
KON
Anzeige

10
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Heute Arbeitsblatt wechsel
21.03.2012 16:27:40
Armin
Hallo KON,
so müsste es gehen:
Sub Heute()
Dim z As Range, sp As Range
Set sp = ActiveSheet.Range("B:G")
For Each z In sp
If z.Value = Date Then
ActiveSheet.Cells(z.Row, z.Column).Select
Exit For
End If
Next z
End Sub
Gruß Armin
AW: Heute Arbeitsblatt wechsel
21.03.2012 16:42:00
KON
Hallo Armin,
leider funktioniert Dein Code auch nicht. Musste Excel über den Task-Manager schließen.
Gruß
KOM
Anzeige
AW: Heute Arbeitsblatt wechsel
21.03.2012 16:28:36
Hajo_Zi
ich habe mal den Bereich kleiner gemacht zum test.
Option Explicit
Sub Heute()
Dim z As Range, sp As Range
Set sp = Range("B1:b23")
For Each z In sp
If IsDate(z) Then
If z.Value = Date Then
Cells(z.Row, z.Column).Select
Exit For
End If
End If
Next z
End Sub


Anzeige
AW: Heute Arbeitsblatt wechsel
21.03.2012 16:39:49
KON
Hallo Hajo,
funktioniert leider nicht. Bleibt im aktiven Tabellenblatt.
Gruß
KON
AW: Heute Arbeitsblatt wechsel
21.03.2012 16:53:09
Hajo_Zi
es ging darum die Fehlermeldung zu beseitigen. Es Stand nicht das in anderen Tabellen gesucht werden soll. Ich habe nur den Fehler beseitigt, den Dein Makro in meiner Dateio ausgelöst hat.
Gruß Hajo
Anzeige
AW: Heute Arbeitsblatt wechsel
21.03.2012 17:05:19
Hubert
Hallo KON
versuche es mal damit.
Ich habe allerdings den Bereich auch verkleinert, damit er sich nicht zu Tode läuft...
Sub Heute()
Dim z As Range, sp As Range
Dim i As Integer
For i = 1 To Sheets.Count
Sheets(i).Select
Set sp = Range("B1:C25")
For Each z In sp
If z.Value = Date Then
Cells(z.Row, z.Column).Select
Exit For
End If
Next z
Next i
End Sub
Gruß, Hubert
Anzeige
Korrektur
21.03.2012 17:18:03
Hubert
Hallo KON
habe doch noch eine Korrektur gemacht.
Hier der neue Code zum Probieren:
Sub Heute()
Dim z As Range, sp As Range
Dim i As Integer
For i = 1 To Sheets.Count
Sheets(i).Select
Set sp = Range("B1:C25")
For Each z In sp
If z.Value = Date Then
Cells(z.Row, z.Column).Select
GoTo Ende
End If
Next z
Next i
Ende:
End Sub
Gruß, Hubert
Anzeige
AW: Korrektur
22.03.2012 10:29:08
KON
Hallo Hubert,
Danke für den Code. Leider läuft er endlos. Mit der Funktion wollte ich erreichen, dass man von einem Tabellenblatt in ein anderes Tabellenblatt, zum heutigen Datum, springt.
Gruß
Konrad
AW: Korrektur
22.03.2012 13:11:10
Hubert
Hallo Konrad
das ist richtig, da der Bereich sehr groß ist.
Aber probier mal diesen Code aus. Da müsste es besser laufen.
Sub Heute()
Dim wks As Worksheet
Dim rng As Range
For Each wks In ActiveWorkbook.Worksheets
Set rng = wks.Cells.Find(Date, LookIn:=xlValues, lookat:=xlWhole)
If Not rng Is Nothing Then
Application.Goto rng, True
End If
Next wks
End Sub
Gruß, Hubert
Anzeige
AW: Korrektur
22.03.2012 14:25:19
KON
Hallo Hubert,
passt Super, Danke für die Hilfe.
Gruß
Konrad
;

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige