Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Markierung/Auswahl erweitern

Markierung/Auswahl erweitern
20.08.2021 16:00:18
Hubertus
Hallo,
wie kann ich per VBA die Auswahl einer aktiven Zelle spaltenabwärts um die Zellen erweitern, die den gleichen Wert enthalten, wie die aktive Zelle?
Es handelt sich dabei in jedem Fall um einen zusammenhängenden Bereich, weder mit Leerzellen, noch Zellen mit anderem Wert dazwischen.
Weiß jemand Rat?
Vielen Dank schon mal vorab.
Hubertus

10
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Markierung/Auswahl erweitern
20.08.2021 16:21:04
UweD
Hallo
beschreib mal, wie du das im Makro verwenden möchtest, bzw. was du danach damit machen willst.
- Auswählen (Select) in VBA ist zu 99% überflüssig
- Zeig doch mal den Code, den du schon hast
LG UweD
AW: Markierung/Auswahl erweitern
20.08.2021 17:37:36
Hubertus
Hallo UweD & Chris L,
danke für Eure Rückmeldung!
Unten der Code.
Ich treffe die Auswahl manuell und dann lasse ich den Code per Tastenkombi durchlaufen und ich muss die nächste Auswahl wieder manuell treffen und ich denke, das lässt sich eleganter lösen.
Danke für den Hinweis zu Verwendung von 'select', was ist der Haken daran? Verwende ich besser 'activate'?
VG Hubertus

Sub Werte_nach_links_kopieren()
' Werte_nach_links_kopieren Makro
' Tastenkombination: Strg+Umschalt+P
Anfang:
With Selection.Font
.ColorIndex = xlAutomatic
.TintAndShade = 0
End With
Selection.Copy
Range(Selection.Offset(0, -1), ActiveCell.Offset(0, -1)).Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=True, Transpose:=False
With Selection.Font
.Color = -11489280
.TintAndShade = 0
End With
Application.CutCopyMode = False
If MsgBox("VO-Preis auch grün?", vbYesNo + vbDefaultButton1, "Ja-Nein-Frage") = vbYes Then
Range(Selection.Offset(0, 1), ActiveCell.Offset(0, 1)).Select
With Selection.Font
.Color = -11489280
.TintAndShade = 0
End With
Selection(Selection.Count).Select
ActiveCell.Offset(1, 0).Select
GoTo weiter:
Else
Selection(Selection.Count).Select
ActiveCell.Offset(1, 1).Select
GoTo weiter:
End If
weiter:
Do While ActiveCell.Offset(0, -10) = ActiveCell.Offset(-1, -10) And ActiveCell = ActiveCell.Offset(-1, 0)
GoTo Anfang:
Loop
End Sub

Anzeige
AW: Markierung/Auswahl erweitern
24.08.2021 16:34:20
Hubertus
Hallo UweD,
hier nochmal der Ablauf:
oberste Zelle in Spalte markieren
Auswahl auf die darunter anschließenden Zellen mit gleichem Wert erweitern
kopieren in die Spalte links daneben
Werte grün formatieren
MsgBox J/N ob die Quellwerte auch grün formatiert werden sollen
erste Zelle in der "Quellspalte" unterhalb auswählen
Auswahl auf die darunter anschließenden Zellen mit gleichem Wert erweitern
usw. (bis erste leere Zelle)
Danke vorab,
VG Hubertus
AW: Markierung/Auswahl erweitern
20.08.2021 16:28:23
ChrisL
Hi
Ich empfehlen auf die Nachfrage von Uwe einzugehen, weil Select ist wie schon erwähnt unschön und oft überflüssig.
Trotzdem nachfolgend ein kleines Muster:

Sub t()
Dim i As Long
If ActiveCell = "" Then Exit Sub
Do While ActiveCell.Offset(i + 1) = ActiveCell
i = i + 1
Loop
Range(ActiveCell, ActiveCell.Offset(i)).Select
End Sub
cu
Chris
Anzeige
AW: Markierung/Auswahl erweitern
20.08.2021 18:09:32
Hubertus
Hallo Chris L,
danke für Deine Rückmeldung!
Den Code habe ich in meine Antwort an UweD gesetzt, deswegen hier nicht nochmal.
Ich treffe die Auswahl manuell und dann lasse ich den Code per Tastenkombi durchlaufen und ich muss die nächste Auswahl wieder manuell treffen und ich denke, das lässt sich eleganter lösen.
Danke für den Hinweis zu Verwendung von 'select', was ist der Haken daran? Verwende ich besser 'activate'?
VG Hubertus
AW: Markierung/Auswahl erweitern
20.08.2021 18:33:38
Hubertus
Hi Chris,
danke für deinen kleinen Muster-Code, er funktioniert bestens "in sich". Wenn ich ihm dann aber beizubringen versuche, aus der Markierung in die nächste Zelle zu gehen und den nächsten "Zellenblock" in Angriff zu nehmen, kriege ich es nicht gebacken, dann macht er skurrile Sachen.
Ich werde ihn jetzt mal testweise meinem Code "vorschalten", da der ja erst dann seine Aufgabe erfüllen soll. Gut möglich, dass sich das (mir) unerklärliche Verhalten dabei erledigt, aber interessieren würde es mich schon, warum.
VG Hubertus
Anzeige
AW: Markierung/Auswahl erweitern
24.08.2021 16:41:55
Hubertus
Hi Chris,
bei der Verwendung Deines "kleinen Musters" bleibt der Wert für i nach dem ersten Durchlauf konstant, alle folgenden Auswahlen werden also nicht neu geprüft, sondern mit dem i-Wert des ersten Durchlaufs durchgeführt.
Da ich es noch nicht geregelt bekommen habe, hier nochmal der Ablauf:
oberste Zelle in Spalte markieren
Auswahl auf die darunter anschließenden Zellen mit gleichem Wert erweitern
kopieren in die Spalte links daneben
Werte grün formatieren
MsgBox J/N ob die Quellwerte auch grün formatiert werden sollen
erste Zelle in der "Quellspalte" unterhalb des vorigen Werteblocks auswählen
Auswahl auf die darunter anschließenden Zellen mit gleichem Wert erweitern
usw. (bis erste leere Zelle)
Danke vorab,
VG Hubertus
Anzeige
AW: Markierung/Auswahl erweitern
25.08.2021 12:41:22
Oberschlumpf
Hi Hubertus,
ich hab auch eine Idee
https://www.herber.de/bbs/user/147791.xlsm
bitte beachte, dass deine Bsp-Datei, wie von dir gezeigt, gar nicht mit deinem Code zusammenpasst.
Ich hab ein weiteres VBA-Modul hinzugefügt und meinen Code dort eingetragen.
Bitte beachte auch alle Kommentare im Code.
Ups, fast vergessen! :-)
Mein Makro wird mit Doppelklick in eine der Zellen in Spalte B gestartet.
Konnte ich helfen?
Ciao
Thorsten
AW: Markierung/Auswahl erweitern
28.08.2021 20:41:27
Hubertus
Hallo Thorsten,
sorry für meine Schlamperei mit der Beispieltabelle, sowohl was in der Beispieltabelle eine notwendige Spalte links angeht, als auch den nicht korrigierten Code (10 nach links). Da hatte ich einfach den Code aus der Originalmappe kopiert und nicht dran gedacht, den ans Beispiel anzupassen.
Ja, danke. Du hättest helfen können, bin aber ein absoluter VBA-Dilettant. Dein script funktioniert genauso, wie ich es brauche; eine sehr elegante Lösung, soweit ich das beurteilen kann. Jetzt würde ich ihn gern auch noch verstehen.
Leider habe ich keine Ahnung, wie ich deine Lösung in meine Original-Arbeitsmappe bekomme, also weder das eigentliche Arbeitsmakro, noch die kleine feine Doppelklickanweisung (wieso die nicht im Modul, sondern in Tabelle9 steht ist mir auch nicht ganz klar).
Beim Versuch, dein script schrittweise nachzuvollziehen (um zu verstehen, was warum passiert und womöglich was zu lernen) stellte ich fest, dass der F8 Schrittbefehl nicht funktioniert. Hast du eine Ahnung, warum das so sein könnte? Seltsamerweise wird auch dein script nicht bei den Makros der Arbeitsmappe aufgeführt.
Ich lade die Mappe mit meinen Kommentaren in deinem script wieder hoch: https://www.herber.de/bbs/user/147819.xlsm
Und wenn du magst, dann freue ich mich sehr über deine Unterstützung/Erklärung.
In jedem Fall soweit Danke und vorab ebenso.
Hubertus
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige