Supportnet / Forum / Tabellenkalkulation
Zu einem Datum in einem Tabellenblatt springen, dass weiter oben in eine Zelle eingegeben wird.
Frage
Hallo,
ich bearbeite gerade einen einfachen Kalender, bei dem in der Spalte A die Daten vom 1.1. - 31.12.2008 aufgelistet sind.
Ist es möglich dass z. B. in die Zelle B2 ein Datum eingegeben werden kann und der Curser springt dann zu dem entsprechenden Datum in der A-Spalte?
Antwort 1 von Saarbauer
Hallo,
Geht zwar mit diesem Makro, abe4r es entspricht whrscheinlich nicht ganz deinen Vorstellungen
Gruß
Helmut
Geht zwar mit diesem Makro, abe4r es entspricht whrscheinlich nicht ganz deinen Vorstellungen
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
Datum = Range("b1").Value
Zeile = Datum - Range("A1").Value + 1
Range("a" & Zeile).Select
End SubGruß
Helmut
Antwort 2 von Pede87
Hallo,
Also wie ich es verstehe sind die Tage von oben nach unten in "Spalte A" aufgelistet ???
wenn ja dann markierst du die Spalte "A" und drückst dann auf Strg+F und gibst einfach das Datum ein....
und dann sucht er dir das richtige datum raus
Also wie ich es verstehe sind die Tage von oben nach unten in "Spalte A" aufgelistet ???
wenn ja dann markierst du die Spalte "A" und drückst dann auf Strg+F und gibst einfach das Datum ein....
und dann sucht er dir das richtige datum raus
Antwort 3 von xSarahx
Hallo Helmut,
danke für die schnelle Antwort.
Leider kommt bei mir eine Fehlermeldung wenn ich den Code eingebe.
Woran könnte das liegen?
Gruß Sarah
danke für die schnelle Antwort.
Leider kommt bei mir eine Fehlermeldung wenn ich den Code eingebe.
Woran könnte das liegen?
Gruß Sarah
Antwort 4 von Saarbauer
Hallo,
Kopiere den Code unter Arbeitsmappe in deiner Datei ab und versuch es damit nochmal.
Sondt wären Angaben zur Meldung sinnvoll
Gruß
Helmut
Kopiere den Code unter Arbeitsmappe in deiner Datei ab und versuch es damit nochmal.
Sondt wären Angaben zur Meldung sinnvoll
Gruß
Helmut
Antwort 5 von nostalgiker6
Ich hätte da noch eine alternative Idee. Sie würde allerdings dazu führen, dass nicht das Datum selbst angesprungen wird, sondern das Feld rechts daneben. Ausserdem müsste das Datum im Format "_" plus Datum eingegeben werden:
1. Die Spalten A und B über den gesamten Kalender markieren
2. Einfügen - Namen - Erstellen - Aus linker Spalte - OK
3. Jetzt erhalten alle markierten Zeilen den Namen
"_" plus (Datum in der ersten Spalte wie formatiert)
[Das Datum kann hinterher umformatiert werden]
4. Um eine Zeile (ein Datum) anzuspringen, gibt man in das NAMENSFELD ganz
links oben ein "_" plus (Datum ...), also beispielsweise _10.07.2008
1. Die Spalten A und B über den gesamten Kalender markieren
2. Einfügen - Namen - Erstellen - Aus linker Spalte - OK
3. Jetzt erhalten alle markierten Zeilen den Namen
"_" plus (Datum in der ersten Spalte wie formatiert)
[Das Datum kann hinterher umformatiert werden]
4. Um eine Zeile (ein Datum) anzuspringen, gibt man in das NAMENSFELD ganz
links oben ein "_" plus (Datum ...), also beispielsweise _10.07.2008
Antwort 6 von finger59
Hi Sarah,
ich habe mal das Makro von dem Helmut nachvollzogen und bei mir funktioniert es auch. Allerdings musste ich ein wenig tricksen. Ich verwende die Version Excel 2003. Evtl. liegt es daran.
Diese Vorgabe gab es bei mir so nicht, als ich das Makro in meine Arbeitsmappe einfügen wollte.
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
Bei mir stand da nur drin:
Private Sub Workbook_SheetActivate(ByVal Sh As Object)
Diesen "Satz" habe ich dann ungültig gemacht und den von dem Helmut stehen lassen.
Wichtig... der Code gehört in diese Arbeitsmappe und nicht in das Tabellenblatt!
Ich hoffe das ich Dir auch ein klein wenig helfen konnte...
In diesem Sinne... have a nice Day... Gruß Helmut
ich habe mal das Makro von dem Helmut nachvollzogen und bei mir funktioniert es auch. Allerdings musste ich ein wenig tricksen. Ich verwende die Version Excel 2003. Evtl. liegt es daran.
Diese Vorgabe gab es bei mir so nicht, als ich das Makro in meine Arbeitsmappe einfügen wollte.
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
Bei mir stand da nur drin:
Private Sub Workbook_SheetActivate(ByVal Sh As Object)
Diesen "Satz" habe ich dann ungültig gemacht und den von dem Helmut stehen lassen.
Wichtig... der Code gehört in diese Arbeitsmappe und nicht in das Tabellenblatt!
Ich hoffe das ich Dir auch ein klein wenig helfen konnte...
In diesem Sinne... have a nice Day... Gruß Helmut
Antwort 7 von gast123
hi all
ein beispiel
gruss gast123
einzufuegen
alt+f11/projektexplorer/DeineTabelle
ein beispiel
gruss gast123
einzufuegen
alt+f11/projektexplorer/DeineTabelle
Private Sub Worksheet_Change(ByVal Target As Range)
Dim suche As Range
Set suche = Workbooks(1).Worksheets(1).Range("A2:A" & Rows.Count).Find(Workbooks(1).Worksheets(1).Range("B1").Value)
If Not suche Is Nothing Then
Workbooks(1).Worksheets(1).Cells(suche.Row, 1).Activate
End If
End SubAntwort 8 von xSarahx
Wenn ich den Code eingebe kommt Laufzeitfehler 13: Typen unverträglich.
Ich kenn mich mit VBA leider so gut wie gar nicht aus und hab keine Ahnung was ich ändern muss.
Danke für eure Antworten!
Ich kenn mich mit VBA leider so gut wie gar nicht aus und hab keine Ahnung was ich ändern muss.
Danke für eure Antworten!
Antwort 9 von gast123
hi all
getestet mit formatierten zellen als datum unter excel 2000
excel7 vielleicht ausgeschlossen
gruss gast123
getestet mit formatierten zellen als datum unter excel 2000
excel7 vielleicht ausgeschlossen
gruss gast123
Antwort 10 von xSarahx
Hi,
ich hab auch Excel 2000.
Formatiert mit TT.MM.JJJJ
Gruß Sarah
ich hab auch Excel 2000.
Formatiert mit TT.MM.JJJJ
Gruß Sarah
Antwort 11 von gast123
hi sarah
wenn du moechtest schick ich dir eine beispieldatei
wenn ja gib deine email an
gruss gast123
wenn du moechtest schick ich dir eine beispieldatei
wenn ja gib deine email an
gruss gast123
Antwort 12 von xSarahx
Hi ihr,
ich hab nochmal ein wenig mit dem Code von Helmut herumprobiert.
Nun kam dieser Laufzeitfehler:
1004: Die Methode Range für das Objekt _Global ist fehlgeschlagen.
Wisst ihr was ich da machen kann?
Grüße Sarah
ich hab nochmal ein wenig mit dem Code von Helmut herumprobiert.
Nun kam dieser Laufzeitfehler:
1004: Die Methode Range für das Objekt _Global ist fehlgeschlagen.
Wisst ihr was ich da machen kann?
Grüße Sarah
Antwort 13 von xSarahx
Hi gast123,
hier meine mail-adresse:
sarah.amelie@yahoo.de
Gruß Sarah
hier meine mail-adresse:
sarah.amelie@yahoo.de
Gruß Sarah
Antwort 14 von gast123
hi all
hinweis fuer helmut
ein datum als zeilenangabe geht wohl eher nicht
warum workbook angaben wenn worksheet gefordert ist
warum sind die variablen nicht deklariert
gruss gast123
hinweis fuer helmut
ein datum als zeilenangabe geht wohl eher nicht
warum workbook angaben wenn worksheet gefordert ist
warum sind die variablen nicht deklariert
gruss gast123
Antwort 15 von gast123
hi sarah
ist abgeschickt 19 uhr 33
gruss gast123
ist abgeschickt 19 uhr 33
gruss gast123
Antwort 16 von Saarbauer
Hallo @gast,
danke für den Hinweis, aber auf die schnelle fertiggemacht und hier eingestellt und bei mir hat das Makro funktioniert. Da die Angaben von @xSarahx etwas ungenau sind hatte ich bereits mit Änderungen gerechnet.
Zu deiner Anmerkung
Geht schon, teste es mal.
Datum = Range("b1").Value
Gruß
Helmut
danke für den Hinweis, aber auf die schnelle fertiggemacht und hier eingestellt und bei mir hat das Makro funktioniert. Da die Angaben von @xSarahx etwas ungenau sind hatte ich bereits mit Änderungen gerechnet.
Zu deiner Anmerkung
Zitat:
ein datum als zeilenangabe geht wohl eher nicht
ein datum als zeilenangabe geht wohl eher nicht
Geht schon, teste es mal.
Datum = Range("b1").Value
Gruß
Helmut
Antwort 17 von xSarahx
Vielen Dank gast123,
jetzt hats endlich geklappt. *freu*
Schönen Abend noch, ciao.
jetzt hats endlich geklappt. *freu*
Schönen Abend noch, ciao.

