Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1940to1944
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
VBA - Spalten und Zeilen markieren
07.08.2023 13:22:18
wolfludwig
Hallo Excel Spezialisten,

ich bitte um Eure Hilfe, in Tabelle (Register) sind Hyperlinks (Sprungmarke), wenn diese geklickt werden, öffnet sich das Tabellenblatt(Beständeübersicht und der Cursor springt in Spalte A in die entsprechende Zelle. Von da an soll von Spalte A bis Spalte H und nach unten bis sich in Spalte B der Wert ändert markiert werden, nach Möglichkeit in Hellblau. Bei verlassen der Tabelle (Beständeübersicht) soll die Markierung aufgehoben werden.

Wer kann helfen, wäre wunderbar.

Gruß
wolfludwig

13
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: VBA - Spalten und Zeilen markieren
07.08.2023 13:47:13
GerdL
Hallo Wolfludwig!


Dim y As Long, rngB As Range

Set rngB = Cells(ActiveCell.Row, 2)

For y = rngB.Row To Cells(Rows.Count, 2).End(xlUp).Row
If Cells(y, 2) > rngB.Value Then Exit For
Next
Range("A" & rngB.Row & ":H" & y).Select
Set rngB = Nothing

Gruß Gerd
AW: VBA - Spalten und Zeilen markieren
07.08.2023 15:27:39
daniel
Hi

verwende einfach diesen Code im Modul des Tabellenblatts "Beständeübersicht"
anstatt der Zelle A1 kannst du bei Range("A1") auch eine andere Zelle eintragen, sie sollte halt nicht anderweitig verwendet werden.
Private Sub Worksheet_Activate()

Range("A1").Value = ActiveCell.Offset(0, 1).Value
End Sub


Richte dann für die Spalten A:H eine Bedingte Formatierung mit der Regelformel:
=$B1=$A$1

bei $A$1 musst du die Zelladresse mit $ verwenden, die du auch im Makro verwendet hast.

Gruß Daniel
Anzeige
AW: VBA - Spalten und Zeilen markieren
07.08.2023 15:44:11
GerdL
Hallo Wolfludwig,

probier mal.
Den Code ins Tabellenblattmodul von "Bestandsübersicht" rechts oben kopieren,
Rechtsklick auf das Blattregister, Code anzeigen anklicken.

Private Sub Worksheet_Activate()


Dim y As Long, rngB As Range


If Selection.Columns.Count = 8 Then
Range("A1").Select
End If

If ActiveCell.Column = 1 And ActiveCell.Row > 1 And IsNumeric(ActiveCell) Then

Set rngB = Cells(ActiveCell.Row, 2)

For y = rngB.Row To Cells(Rows.Count, 2).End(xlUp).Row
If Cells(y, 2) > rngB.Value Then Exit For
Next
Range("A" & rngB.Row & ":H" & y).Select
Set rngB = Nothing

End If


End Sub

Gruß Gerd
Anzeige
AW: VBA - Spalten und Zeilen markieren
07.08.2023 16:16:02
wolfludwig
Hallo Gerd,

ich habe Deinen Code getestet, leider keine Reaktion, Der Cursor springt in die gewünschte Zelle, aber keine Markierung.

Gruß
wolfludwig
AW: VBA - Spalten und Zeilen markieren
10.08.2023 16:06:47
wolfL001@gmx.de
Hallo Ulf,

herzlichen Dank für Deine Unterstüzung, ich habe den Code getestet, er funktioniert in der von Dir zurückgesandten Mappe einwandfrei. Wenn ich in die Mappe die realen Daten und Hyperlinks reinsetze passiert überhaupt nichts. Der Aufbau der Datei ist gleich wie in Testmappe. Auch habe ich unter Eigenschaften bei zulassen einen Haken gesetzt. Habe ich irgendwas vergessen, übersehen oder falsch geacht?

Gruß
wolfludwig
Anzeige
AW: VBA - Spalten und Zeilen markieren
12.08.2023 07:15:10
Oberschlumpf
Hi,

helfen könnte, wenn du uns erneut eine Bsp-Datei per Upload zeigst, die nun aber...
...den Code von Ulf enthält (weil, mit seiner Bsp-Datei funktioniert es ja)
...und aber auch deine Daten und Hyperlinks enthält - mit denen es nicht funktioniert

Ja, ich weiß, bei deinen Daten und Hyperlinks handelt es sich um Real-Daten.
Die sollst du natürlich weiterhin nicht zeigen.

Aber die neue von dir gezeigte Datei muss halt Daten und Hyperlinks enthalten, mit denen es mit Ulfs Code nicht funktioniert, weil...nur dein Hinweis "es geht nicht"...hilft eben auch nicht, weil wir ja nicht auf deinen Computer gucken können.

Ciao
Thorsten
Anzeige
VBA - Spalten und Zeilen markieren
12.08.2023 11:46:28
wolfludwig
Hallo Thorsten,

danke für Deine Antwort. Du hast Recht, der Code von Ulf funktioniert einwandfrei. Inzwischen habe ich das Problem erkannt, aber noch keine Lösung gefunden. In meiner Beispieldatei in Spalte A sind Nummern mit den der Code funktioniert. Real befinden sich außer Zahlen auch einzelne Buchstaben und Sonderzeichen also alphanumerisch. Der Code von Ulf ist auf "Isnumeric" ausgelegt, Wie kann man das ändern.

Gruß
wolfludwig
VBA - Spalten und Zeilen markieren
12.08.2023 12:05:56
GerdL
Moin Wolfludlwig!

If ActiveCell.Column = 1 And ActiveCell.Row > 1 And Not IsEmpty(ActiveCell) Then


Gruß Gerd
Anzeige
VBA - Spalten und Zeilen markieren
12.08.2023 12:43:15
wolfludwig
Hallo Gerd,

jetzt passt es, Danke.

Gruß
wolfludwig
AW: VBA - Spalten und Zeilen markieren
07.08.2023 13:52:48
wolfludwig
Hallo Gerd,

danke für Deine schnelle Antwort. Meine VBA Kenntnisse gehen gegen Null, kannst Du mir den kompletten Code liefern.

Gruß
wolfludwig
AW: VBA - Spalten und Zeilen markieren
07.08.2023 14:47:37
GerdL
Hallo Wolfludwig,

lade bitte eine Beispieldatei hoch, die exceltechnisch deiner Datei entspricht. Unwichtiges kannst du weglassen u. Daten anonymiesieren.

Gruß Gerd
AW: VBA - Spalten und Zeilen markieren
07.08.2023 15:11:47
wolfludwig
https://www.herber.de/bbs/user/162221.xlsm

Hallo Gerd,

hier die Testmappe1, die Hyperlinks sind unter Register.

Gruß
wolfludwig
Anzeige

323 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Anzeige

Infobox zum Thema

EXCEL - VBA - Spalten und Zeilen markieren


Inhaltsverzeichnis


Die Fragestellung


Du möchtest wissen, wie man mit VBA in Excel bestimmte Spalten und Zeilen markieren kann.


Erläuterung des Problems {#erläuterung-des-problems}


In Excel kann es oft notwendig sein, bestimmte Zeilen oder Spalten für die Bearbeitung oder Formatierung zu markieren. Dies kann manuell geschehen, aber bei wiederholten Aufgaben oder großen Datenmengen ist es effizienter, dies mit einem VBA-Makro zu automatisieren.


Lösung des Problems {#lösung-des-problems}


Um Spalten und Zeilen mit VBA zu markieren, kannst Du die Range, Rows und Columns Objekte verwenden. Hier sind einige Beispiele, wie Du diese Objekte verwenden kannst:

  • Eine einzelne Spalte markieren:

    Columns("B:B").Select
  • Mehrere Spalten markieren:

    Columns("B:D").Select
  • Eine einzelne Zeile markieren:

    Rows("5:5").Select
  • Mehrere Zeilen markieren:

    Rows("5:7").Select
  • Eine Kombination von Spalten und Zeilen markieren:

    Range("B5:D7").Select
  • Alle Zellen in einer Spalte ab einer bestimmten Zeile markieren:

    Range("B5:B" & Rows.Count).Select
  • Alle Zellen in einer Zeile ab einer bestimmten Spalte markieren:

    Range("B5:" & "B" & Columns.Count).Select

Beachte, dass die Verwendung von Select in VBA nicht immer die beste Praxis ist, da es die Performance beeinträchtigen kann und nicht notwendig ist, wenn Du direkt mit den Zellen arbeiten kannst.


Anwendungsbeispiele aus der Praxis


  • Datenformatierung: Automatisches Formatieren von Zeilen oder Spalten basierend auf bestimmten Kriterien.
  • Datenanalyse: Markieren von Zeilen oder Spalten, die analysiert oder bearbeitet werden sollen.
  • Berichterstellung: Vorbereiten von Daten für die Berichterstellung, indem relevante Bereiche markiert werden.

Tipps


  • Vermeide die Verwendung von Select, wenn Du direkt auf die Zellen zugreifen kannst, um die Performance zu verbessern.
  • Verwende Rows.Count und Columns.Count, um dynamisch auf die letzte Zeile oder Spalte in einem Arbeitsblatt zu verweisen.

Verwandte Themenbereiche


  • VBA-Zellreferenzen
  • Automatisierung von Formatierungsaufgaben
  • Erstellung von Makros für wiederholte Aufgaben

Zusammenfassung


Mit VBA kannst Du effizient Zeilen und Spalten in Excel markieren, um verschiedene Aufgaben wie Formatierung oder Datenanalyse zu automatisieren. Die Verwendung von Range, Rows und Columns ermöglicht es Dir, spezifische Bereiche für die Bearbeitung auszuwählen. Es ist jedoch ratsam, direkte Zellzugriffe zu verwenden, anstatt Select zu nutzen, um die Performance zu optimieren.

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige