Ich möchte, dass die aktuell ausgewählte Zelle immer in der Mitte des Bildschirms steht.
Also egal wohin ich klicke soll die Zelle in der Mitte erscheinen.
Geht so was? wenn ja wie?
Habe nix gefunden.
Gruß und Danke!
Werner
Zelle in Bildschirmmitte
Option Explicit
Sub CenterOnCell(OnCell As Range)
Dim VisRows As Integer
Dim VisCols As Integer
Application.ScreenUpdating = False
' Switch over to the OnCell's workbook and worksheet.
OnCell.Parent.Parent.Activate
OnCell.Parent.Activate
' Get the number of visible rows and columns for the active window.
With ActiveWindow.VisibleRange
VisRows = .Rows.Count
VisCols = .Columns.Count
End With
' Now, determine what cell we need to GOTO. The GOTO method will
' place that cell reference in the upper left corner of the screen,
' so that reference needs to be VisRows/2 above and VisCols/2 columns
' to the left of the cell we want to center on. Use the MAX function
' to ensure we're not trying to GOTO a cell in row
Private Sub Worksheet_SelectionChange(ByVal Target As Excel.Range)
Application.ScreenUpdating = False
Cells.Interior.ColorIndex = xlNone
Target.Interior.ColorIndex = 6
Rows(1).Interior.ColorIndex = 22
Rows(36).Interior.ColorIndex = 22
Rows(71).Interior.ColorIndex = 22
Rows(106).Interior.ColorIndex = 22
Rows(141).Interior.ColorIndex = 22
Rows(176).Interior.ColorIndex = 22
Columns("BA").Interior.ColorIndex = 22
Columns("EA").Interior.ColorIndex = 22
CenterOnCell ActiveCell
End Sub
Gibt es einen Weg, dass die Zielzelle farbig marliert und dann im Bildschirm zentriert wird?
Um die aktuell ausgewählte Zelle in der Bildschirmmitte anzuzeigen, kannst du den folgenden VBA-Code verwenden. Dieser Code sorgt dafür, dass die aktive Zelle immer zentriert wird, egal wo du klickst.
Öffne Excel und drücke ALT + F11
, um den VBA-Editor zu öffnen.
Klicke im Projektfenster auf das entsprechende Arbeitsblatt, in dem du die Funktion nutzen möchtest.
Füge den folgenden Code in das Codefenster ein:
Private Sub Worksheet_SelectionChange(ByVal Target As Excel.Range)
Application.ScreenUpdating = False
CenterOnCell ActiveCell
Application.ScreenUpdating = True
End Sub
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
ActiveWindow.ScrollRow = OnCell.Row - (VisRows \ 2)
ActiveWindow.ScrollColumn = OnCell.Column - (VisCols \ 2)
Application.ScreenUpdating = True
End Sub
Schließe den VBA-Editor und kehre zu Excel zurück. Wenn du jetzt eine Zelle auswählst, wird sie automatisch in der Bildschirmmitte angezeigt.
Endlosschleife beim Auswählen: Wenn du das Problem hast, dass der Code in einer Endlosschleife endet, füge Application.EnableEvents = False
vor dem Aufruf der CenterOnCell
-Subroutine und Application.EnableEvents = True
danach hinzu, um die Ereignisse vorübergehend zu deaktivieren.
Die Zelle wird nicht zentriert: Überprüfe, ob der Code korrekt in das Arbeitsblattmodul eingefügt wurde und dass keine Syntaxfehler vorhanden sind.
Eine alternative Methode, um die Zelle in der Bildschirmmitte anzuzeigen, ist die Verwendung von Excel-Makros, die auf Tastenkombinationen basieren. Du kannst ein Makro erstellen, das eine bestimmte Zelle wählt und dann zentriert. Hier ein einfaches Beispiel:
Sub GoToCell()
Application.Goto Range("A1") ' Ersetze A1 durch die gewünschte Zelle
CenterOnCell ActiveCell
End Sub
Du kannst dieses Makro dann einer Tastenkombination zuweisen, um die Navigation zu erleichtern.
Zelle in Bildschirmmitte anzeigen: Wenn du oft mit großen Datensätzen arbeitest, kann es hilfreich sein, die Zelle, die du gerade bearbeitest, in der Bildschirmmitte anzuzeigen. Dies verbessert die Übersichtlichkeit.
Farbige Markierung: Du kannst die aktive Zelle farbig markieren, bevor du sie zentrierst, indem du den folgenden Code in die CenterOnCell
-Subroutine einfügst:
OnCell.Interior.ColorIndex = 6 ' Gelb
Application.ScreenUpdating = False
-Anweisung, um die Leistung zu verbessern, wenn du mehrere Änderungen vornimmst.CenterOnCell
-Subroutine anpasst.ActiveCell
-Eigenschaft nutzen, um weitere Anpassungen vorzunehmen, wie das Ändern der Schriftfarbe oder der Schriftart.1. Wie kann ich den Code anpassen, um eine bestimmte Zelle immer in der Bildschirmmitte anzuzeigen?
Du kannst die CenterOnCell
-Subroutine so anpassen, dass sie eine feste Zellreferenz verwendet, anstatt ActiveCell
.
2. Funktioniert dieser Code in allen Excel-Versionen?
Ja, dieser Code sollte in allen modernen Excel-Versionen funktionieren, die VBA unterstützen.
Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden
Suche nach den besten AntwortenEntdecke unsere meistgeklickten Beiträge in der Google Suche
Top 100 Threads jetzt ansehen