Live-Forum - Die aktuellen Beiträge
Datum
Titel
16.10.2025 17:40:39
16.10.2025 17:25:38
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Zelle in der mitte

Zelle in der mitte
17.05.2005 11:54:58
jurg
Hallo Forum
habe da ne frage....
wöchentlich öffne ich eine Datei und muss dann zum aktuellen Datumseintrag scrollen.
gibt es eine möglichkeit, dass man automatisch, wenn man die datei öffnet , zu dieser zelle gelangt und dass diese Zelle dan in der mitte des excel-files ist.
also in spalte b sind die wochendaten . wenn ich diese woche das shett offne so soll es gleich zu zelle b22 springen.
geht sowas ?
mit gruss
jurg
Anzeige

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Zelle in der mitte
17.05.2005 12:05:59
bavariabob
Jurg,
meine erste Ideee:

Sub Today_Auswählen()
For Each zelle In ActiveSheet.UsedRange
If zelle.Value = Date Then
zelle.Select
End If
Exit For
Next
End Sub

Gruss aus München
AW: Zelle in der mitte
17.05.2005 12:15:10
Hajo_Zi
Hallo jurg,
Mitte ist ungenau, was ist mit unterschiedlichen Bildschirmauflösungen.
Auf Zelle springen und Anzeige ganz oben links
Application.Goto Reference:=Worksheets("Tabelle1").Range("A51"), Scroll:=True
oder

Private Sub Workbook_Open()
ActiveWindow.ScrollColumn = ActiveWindow.ActiveCell.Column
ActiveWindow.ScrollRow = ActiveWindow.ActiveCell.Row
End Sub


Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range)
‘

Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Excel.Range)
ActiveWindow.ScrollColumn = ActiveWindow.ActiveCell.Column
ActiveWindow.ScrollRow = ActiveWindow.ActiveCell.Row
End Sub

Diesen Code dem Workbook zuweisen. Es ist erforderlich, daß die beiden Scroll Befehle sowohl dem Ereignis Workbook_Open als auch Workbook_SheetChange zuzuweisen.
Dann erscheint die aktive Zelle immer links oben.
Von "Quinoman" Michael
Bitte keine Mail, Probleme sollten im Forum gelöst werden.
Microsoft MVP für Excel
Das Forum lebt auch von den Rückmeldungen.
Betriebssystem Windows 2000 SP4 und Excel Version 2000 SP3.



"Wer Rechtschreibfehler findet, darf sie behalten!"
Dies gilt auch für Bert.
Anzeige
AW: Zelle in der mitte
17.05.2005 12:16:05
Martin
Hallo Jurg,
Tabellenname anpassen und dann Code unter "DieseArbeitsmappe" abspeichern:

Private Sub Workbook_Open()
Worksheets("Tabelle1").Activate
ActiveSheet.Columns(2).Find(Date).Select
End Sub

Gruß
Martin Beck
aktuelle Datumszelle zentriert auf Desktop anzeige
17.05.2005 14:36:43
Beate
Hallo Jurg,
füge ins Codefenster "dieseArbeitsmappe" folgendes Makro, gegebenenfalls Tabellenname anpassen:

Private Sub Workbook_SheetActivate(ByVal Sh As Object)
If ActiveSheet.Name = "Tabelle1" Then
CenterOnCell Columns(2).Find(Date)
End If
End Sub

Und in ein Modul folgenden Code:
Sub CenterOnCell(OnCell As Range)
Dim VisRows As Integer
Dim VisCols As Integer
Application.ScreenUpdating = False
OnCell.Parent.Parent.Activate
OnCell.Parent.Activate
With ActiveWindow.VisibleRange
VisRows = .Rows.Count
VisCols = .Columns.Count
End With
With Application
.Goto reference:=OnCell.Parent.Cells( _
.WorksheetFunction.Max(1, OnCell.Row + _
(OnCell.Rows.Count / 2) - (VisRows / 2)), _
.WorksheetFunction.Max(1, OnCell.Column + _
(OnCell.Columns.Count / 2) - _
.WorksheetFunction.RoundDown((VisCols / 2), 0))), _
scroll:=True
End With
OnCell.Select
Application.ScreenUpdating = True
End Sub
Dann wird die Zelle mit dem aktuelen Datum bei Blatt-/Dateiaktivierung immer zentriert. Ausnahme: Die Zelle liegt nah am Tabellenrand, in deinem Fall hängt es also von der Breite von Spalte A ab, inwieweit eine horizontale Zentrierung überhaupt möglich ist.
Quelle des Codes CenterOnCell: http://www.cpearson.com/excel/zoom.htm
Gruß,
Beate
Anzeige
Nachtrag
17.05.2005 15:43:12
Beate
Hallo Jurg,
füge auch noch dieses Makro in "dieseArbeitsmappe" ein, damit auch beim Dateiöffnen, falls die Seite die zuletzt Aktive war, die Zentrierung anspringt:

Private Sub Workbook_Open()
If ActiveSheet.Name = "Tabelle1" Then
CenterOnCell Columns(2).Find(Date)
End If
End Sub

Gruß,
Beate
Anzeige
OnCell.Parent.Parent.Activate
17.05.2005 17:50:32
Jurg
Hallo Beate
vielen Dank
hab es eingebaut , aber bei
OnCell.Parent.Parent.Activate hat es gestoppt
kannst du mir nochmals en tip geben
vielen Dank
mit Gruss
Jürg
AW: OnCell.Parent.Parent.Activate
17.05.2005 22:12:28
Beate
Hallo Jurg,
ich kann dir keinen Tipp geben, der Code funktioniert bei mir - ist aber wie schon gesagt nicht von mir.
Ich schlage einen Gegentest vor. Öffne mal beiliegende Datei - da läuft es bei mir.
Ich habe geschlossen und gespeichert als Tabelle2 aktiv war. Du musst also einen Blattwechsel zu Tabelle1 vornehmen (dafür ist das Makro ja bestimmt) und als ich dort das letzte Mal vor dem Speichern war, stand der Cursor in B729. Schau dir die Veränderung an:
https://www.herber.de/bbs/user/22863.xls
Ich arbeite mit Excel 2002, wenn es bei dir nicht geht, dann ist es ein Versionsproblem und du kannst meine Lösung abhaken.
Gruß,
Beate
Anzeige
AW: OnCell.Parent.Parent.Activate
18.05.2005 07:59:47
Jürg
Hallo Beate
vielen dank !!!!
es funktioniert .... was bei mir nicht funktionierte kann ich nicht sagen ......
es funktioniert auch bei Excel 2000
vielen dank nochmals
mit gruss
Jürg
;

Forumthreads zu verwandten Themen

Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

Infobox / Tutorial

Zelle in der Mitte zentrieren und automatisch auswählen


Schritt-für-Schritt-Anleitung

Um die Zelle mit dem aktuellen Datum automatisch auszuwählen und sie in der Mitte des Excel-Fensters zu zentrieren, folge diesen Schritten:

  1. Öffne Excel und drücke ALT + F11, um den VBA-Editor zu öffnen.

  2. Wähle im VBA-Editor im linken Fenster "DieseArbeitsmappe" aus.

  3. Füge den folgenden Code ein:

    Private Sub Workbook_Open()
       Worksheets("Tabelle1").Activate
       ActiveSheet.Columns(2).Find(Date).Select
       CenterOnCell ActiveCell
    End Sub
  4. Erstelle ein neues Modul, indem Du im Menü Einfügen > Modul wählst.

  5. Füge in das Modul den folgenden Code ein:

    Sub CenterOnCell(OnCell As Range)
       Dim VisRows As Integer
       Dim VisCols As Integer
       Application.ScreenUpdating = False
       OnCell.Parent.Parent.Activate
       OnCell.Parent.Activate
       With ActiveWindow.VisibleRange
           VisRows = .Rows.Count
           VisCols = .Columns.Count
       End With
       With Application
           .Goto reference:=OnCell.Parent.Cells( _
               .WorksheetFunction.Max(1, OnCell.Row + _
               (OnCell.Rows.Count / 2) - (VisRows / 2)), _
               .WorksheetFunction.Max(1, OnCell.Column + _
               (OnCell.Columns.Count / 2) - _
               .WorksheetFunction.RoundDown((VisCols / 2), 0))), _
               scroll:=True
       End With
       OnCell.Select
       Application.ScreenUpdating = True
    End Sub
  6. Schließe den VBA-Editor und speichere die Datei als Makro-fähige Arbeitsmappe (.xlsm).

Jetzt wird die Zelle mit dem aktuellen Datum beim Öffnen der Datei automatisch ausgewählt und zentriert.


Häufige Fehler und Lösungen

Problem: Der Code funktioniert nicht und zeigt einen Fehler an.
Lösung: Stelle sicher, dass der Tabellenname ("Tabelle1") korrekt ist. Du kannst ihn anpassen, wenn dein Arbeitsblatt anders benannt ist.

Problem: Die Zelle wird nicht zentriert.
Lösung: Überprüfe die Bildschirmauflösung und den Zoom-Faktor. Wenn die Zelle zu nah am Rand ist, kann die zentrierte Anzeige nicht korrekt funktionieren.


Alternative Methoden

Eine weitere Möglichkeit, die Zelle automatisch auszuwählen, besteht darin, den Private Sub Workbook_SheetActivate(ByVal Sh As Object)-Code zu verwenden:

Private Sub Workbook_SheetActivate(ByVal Sh As Object)
    If ActiveSheet.Name = "Tabelle1" Then
        CenterOnCell Columns(2).Find(Date)
    End If
End Sub

Füge diesen Code ebenfalls in "DieseArbeitsmappe" ein, um sicherzustellen, dass die Zelle bei jedem Wechsel zu Tabelle1 zentriert wird.


Praktische Beispiele

Wenn Du möchtest, dass die Zelle in der Mitte auch diagonal geteilt und beschriftet wird, kannst Du die Funktion "Zelle diagonal teilen und beschriften" in Excel verwenden. Gehe dazu wie folgt vor:

  1. Wähle die Zelle aus, die Du diagonal teilen möchtest.
  2. Gehe zu Start > Zellen formatieren.
  3. Wähle die Registerkarte Ausrichtung.
  4. Aktiviere die Option Diagonal und gib die gewünschten Beschriftungen ein.

Tipps für Profis

  • Verwende die Find-Methode, um nach bestimmten Werten in Excel zu suchen und zu navigieren. Dies kann nützlich sein, wenn Du regelmäßig mit Datumsangaben arbeitest.
  • Optimiere den Code, indem Du die Bildschirmaktualisierung während des Ausführens von Makros deaktivierst, um die Leistung zu verbessern.

FAQ: Häufige Fragen

1. Kann ich den Code auch in Excel 2010 verwenden?
Ja, der Code funktioniert in Excel-Versionen ab 2000. Achte darauf, dass Du die Datei als Makro-fähige Arbeitsmappe speicherst.

2. Was mache ich, wenn ich mehrere Tabellenblätter habe?
Du kannst den Code anpassen, um spezifische Tabellenblätter auszuwählen, indem Du den Namen im Code entsprechend änderst.

3. Gibt es eine einfache Möglichkeit, die Zelle diagonal zu teilen?
Ja, Du kannst die Zelle formatieren, indem Du die Zellenformatierung öffnest und die diagonale Ausrichtung aktivierst.

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