Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
916to920
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
916to920
916to920
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Markierungen per VBA

Markierungen per VBA
22.10.2007 11:13:00
magicman
Hallo Experten,
für eine Tabelle möchte ich einen Button programmieren, der dem User erlaubt markierte Zeilen zu löschen (ansonsten ist die Tabelle per Blattschutz+PW gesperrt).
1.) Wie stelle ich fest, ob ganze Zeilen markiert sind?
2.) Wie kann ich eine unvollständige Markierung auf die kpl. Zeilen ausdehnen?
3.) Wie kann ich die Zeilennummer der Markierung auslesen (es dürfen nur bestimmte Bereiche gelöscht werden)?
Danke für euer Input.
Michael

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

Betreff
Datum
Anwender
Anzeige
AW: Markierungen per VBA
22.10.2007 11:19:00
Chaos
Servus Michael,
z.B. so:

Sub test()
MsgBox Selection.Address ' Adresse
MsgBox Selection.Row' zeile
ActiveCell.EntireRow.Select ' ganze Zeile Selektieren
End Sub


gruß
chaos

AW: Markierungen per VBA
22.10.2007 13:23:00
magicman
Hallo Chaos,
danke für den Denkschubs in die richtige Richtung.
Hier mein Code, den ich mir bisher zusammengebastelt habe.
Mein Problem ist die Abfrage Wie kann ich die kleinste zeilennummer in der selection abfragen?
Danke im Voraus.
Michael

Sub MarkierungLöschen()
Dim i As Integer
Selection.EntireRow.Select
If Selection.Row 


Anzeige
AW: Markierungen per VBA
22.10.2007 14:08:00
Chaos
Servus,
MsgBox ActiveCell.Row
Die aktive Zelle ist immer die erste in der Selection, also auch die kleinste, allerdings nur, wenn du von oben nach unten selektierst. Von unten nach oben, wäre es dann die Größte.
Gruß
Chaos

AW: Markierungen per VBA
22.10.2007 14:33:29
Chaos
Servus,
so kannst du unabhängig von der Selektionsrichtung die kleinste Zeile abfragen (bei ganzzeiliger Selektierung):

Sub TT()
Dim zähler As Double
zähler = 0
For i = 1 To Len(Selection.Address)
zähler = zähler + 1
Select Case Mid(Selection.Address, i, 1)
Case ":":
Exit For
End Select
Next
Dim Üb As String
Üb = Left(Selection.Address, zähler - 1)
Üb = Replace(Üb, "$", "")
MsgBox Üb
End Sub


Gruß
Chaos

Anzeige
Funktioniert aber nicht wenn
22.10.2007 15:29:18
magicman
Hallo Chaos,
danke für deine Hilfe, aber wenn ich die Zeilen mit gedrückter STRG-Taste einzeln auswähle, z.B. Zeile 12, 8 und 4, dann funktioniert das Makro leider nicht.
Fällt Dir dazu noch etwas ein?
Gruß
Michael

Jetzt hab ich es
22.10.2007 16:18:00
magicman
Hallo Chaos,
Hallo Hajo,
mit diesem Code bekomme ich das min + max heraus:
lonMin = 0
lonMax = 0
For Each objZelle In Selection
If lonMin = 0 Then lonMin = objZelle.Row
If lonMax = 0 Then lonMax = objZelle.Row
If objZelle.Row If objZelle.Row > max Then lonMax = objZelle.Row
Next zelle
Danke für eure Hilfe
Michael

Anzeige
AW: Markierungen per VBA
22.10.2007 11:21:00
Hajo_Zi
Hallo Michael,
zu 1 MsgBox "Zeilen:" & Selection.Rows.Count
MsgBox Selection.Count
zu 2 was ist eine unvollständige Markierung
zu 3 MsgBox Selection.Row ' aktive Zelle

AW: Markierungen per VBA
22.10.2007 13:26:05
magicman
Hallo Hajo,
danke auch Dir für deine Antwort.
Unvollständige Markierung wäre z.B nur 2 Zelle statt 2 Zeilen, habe ich abgeschaltet indem ich die Markierung immer auf die jeweiligen Zeilen ausdehne.
Kannst Du mir evtl. helfen, bei dem Problem die kleinste Zeilennummer aus einer Selection abzufragen?
Danke.
Michael
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige