kann mir jemand sagen wie ich nach diesem befehl
"Selection.End(xlDown).Select"
eine zeile nach unten gelange...
irgend so was: "Range("??").Select"?
gruss
carlo
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Address <> Range("A6").Address And _
Range("A6").Value = "" Then
MsgBox "Eintrag fehlt in A6!"
Range("A6").Select
End If
End Sub
Sub NeuerDatensatz()
' NeuerDatensatz Makro
On Error Resume Next
ActiveSheet.Unprotect Password:="x"
Worksheets("Adressen").Rows(Cells(65536, 1).End(xlUp).Row + 1).Insert shift:=xlDown
Range("A2").Select
ActiveCell.FormulaR1C1 = "1"
Range("A3").Select
ActiveCell.FormulaR1C1 = "2"
Range("B2:F2").Select
Selection.Font.Bold = False
Range("A2:A3").Select
Selection.AutoFill Destination:=Range("A2:A1000")
Range("A2:A1000").Select
Range("A1").Select
Selection.End(xlDown).Select
Selection.ClearContents
ActiveSheet.Protect Password:="x", DrawingObjects:=True, _
Contents:=True, Scenarios:=True
Range("B2").Select
Selection.End(xlDown).Offset(1, 0).Select
End Sub
Sub NeuerDatensatz()
On Error Resume Next
ActiveSheet.Unprotect Password:="x"
Worksheets("Adressen").Rows(Cells(65536, 1).End(xlUp).Row + 1).Insert shift:=xlDown
Range("A2").FormulaR1C1 = "1"
Range("A3").FormulaR1C1 = "2"
Range("B2:F2").Font.Bold = False
Range("A2:A3").AutoFill Destination:=Range("A2:A1000")
Range("A1").End(xlDown).ClearContents
ActiveSheet.Protect Password:="x", DrawingObjects:=True, _
Contents:=True, Scenarios:=True
Range("B2").End(xlDown).Offset(1, 0).Select
End Sub
Zelle auswählen: Beginne mit der Auswahl einer Zelle, von der aus du die Auswahl fortsetzen möchtest.
Range("A1").Select
Verwendung von Selection.End: Um zur letzten nicht-leeren Zelle in der Spalte zu gelangen, verwende:
Selection.End(xlDown).Select
Eine Zeile nach unten springen: Wenn du nach der letzten nicht-leeren Zelle eine Zeile nach unten springen möchtest, kannst du diese Zeile hinzufügen:
Selection.End(xlDown).Offset(1, 0).Select
Verwendung von Range: Alternativ kannst du auch mit Range
arbeiten, um spezifische Bereiche auszuwählen:
Range(Selection, Selection.End(xlDown)).Select
Fehler: "Die Auswahl geht über die letzte Zelle hinaus."
End(xlDown)
-Methode nicht korrekt arbeiten.Fehler: Der Code wird langsam, wenn viele Select
-Befehle verwendet werden.
Select
-Befehle zu vermeiden und direkt mit Range
zu arbeiten.Es gibt verschiedene Möglichkeiten, die End
-Funktion in Excel VBA zu nutzen:
End(xlUp): Um von unten nach oben zu navigieren, verwende:
Range("A1").End(xlUp).Select
End(xlToLeft): Um nach links zu navigieren:
Selection.End(xlToLeft).Select
Diese Methoden sind nützlich, wenn du beim Navigieren in deiner Tabelle flexibler sein möchtest.
Hier sind einige praktische Beispiele für die Verwendung von End
in VBA:
Letzte Zeile in einer Spalte ermitteln:
Dim letzteZeile As Long
letzteZeile = Cells(Rows.Count, 1).End(xlUp).Row
In einem Dropdown-Feld eine Auswahl zwingen:
Um sicherzustellen, dass ein Benutzer eine Auswahl trifft, kannst du einen Selection_Change
-Ereignis verwenden:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Address = Range("A6").Address And Target.Value = "" Then
MsgBox "Eintrag fehlt in A6!"
Range("A6").Select
End If
End Sub
Vermeide die Verwendung von Select
und arbeite direkt mit Objekten, um die Ausführungsgeschwindigkeit zu erhöhen.
Nutze With...End With
, um den Code leserlicher zu gestalten:
With ActiveSheet
.Cells(1, 1).Value = "Hallo"
.Cells(2, 1).Value = "Welt"
End With
Nutze die Möglichkeit, Werte in Arrays zu speichern, bevor du sie in Zellen schreibst, um die Leistung zu verbessern.
1. Wie kann ich die letzte Zeile in einer bestimmten Spalte ermitteln? Du kannst dies mit folgendem Code erreichen:
Dim letzteZeile As Long
letzteZeile = Cells(Rows.Count, 1).End(xlUp).Row
2. Was ist der Unterschied zwischen End(xlDown)
und End(xlUp)
?
End(xlDown)
springt zur nächsten nicht-leeren Zelle nach unten, während End(xlUp)
zur nächsten nicht-leeren Zelle nach oben springt.
3. Wie kann ich sicherstellen, dass ein Dropdown-Feld ausgefüllt wird?
Du kannst das Selection_Change
-Ereignis verwenden, um sicherzustellen, dass der Benutzer in ein bestimmtes Feld eingibt, bevor er weitermachen kann.
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