Live-Forum - Die aktuellen Beiträge
Datum
Titel
16.10.2025 17:40:39
16.10.2025 17:25:38
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Erste Spalte in Auswahl ansprechen

Forumthread: Erste Spalte in Auswahl ansprechen

Erste Spalte in Auswahl ansprechen
04.12.2016 19:59:54
Gauss
Hallo werte Forumsgemeinde,
ich als absoluter VBA Anfänger hänge gerade an einem wahrscheinlich eher banalen Problem fest.
Bei dem unten stehenden Code Schnipsel möchte ich die erste Spalte der Auswahl ansprechen (wo jetzt Selection.Column steht). Also z.B. B, wenn der Anwender den Bereich B3:E6 ausgewählt hat. Momentan funktioniert das Makro nur wenn der User die Auswahl in Spalte A beginnt. Ich habe schon Sachen wie "cells (z, Selection.Columns(1))" ausprobiert, aber da bekomme ich Laufzeitfehler. Das Makro soll die Zeilen in der ersten Spalte der jeweiligen Auswahl durchlaufen. Wie gesagt ich bin blutiger Anfänger.
[...]
For z = 2 To Selection.Rows.Count
If Cells(z, Selection.Column) Cells(z - 1, Selection.Column) Then a = a+1
[...]
Weiß da jemand was? Sorry wenn das etwas unklar formuliert ist. Vielen Dank
Gruß
Gauss
Anzeige

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Erste Spalte in Auswahl ansprechen
04.12.2016 20:08:27
Nepumuk
Hallo,
so:
Cells(Z, Selection.Columns(1).Column).Value .....
Gruß
Nepumuk
AW: Erste Spalte in Auswahl ansprechen
04.12.2016 22:25:47
Gauss
Aller besten Dank!
Mir ist jedoch aufgefallen, das ich jetzt noch ein anderes Problem habe. Mein Makro soll die Auswahl des Anwenders durchgehen und bei wechselnden Zeilenwerten in der ersten Spalte der Auswahl die Zeilen alternierend einfärben (weiß und grau abwechselnd). Das geht auch alles prinzipiell, was ich dabei aber nicht vernünftig hinkriege ist der korrekte Zellbezug: Wo unten Selection.Column (fett) steht soll die erste Spalte der Auswahl angesprochen werden. Ausgewählt werden soll in der Codezeile die erste bis letzte Spalte der Auswahl für die jeweilige Zeile. Hoffe das war nicht zu unklar. Danke!
Gruss
Gauss
Sub ZeilenMuster_v3() ' Makro zum abwechselndem Einfärben von Zeilen
Dim a, b As Integer ' Hilfsvariablen
Dim z As Integer
For z = 2 To Selection.Rows.Count
If Cells(z, Selection.Columns(1).Column).Value  Cells(z - 1, Selection.Columns(1).Column). _
Value Then
a = a + 1
b = a Mod 2
End If
If b = 1 Then
Range(Cells(z, Selection.Column), Cells(z, Selection.Columns.Count)).Interior.ColorIndex  _
= 15
End If
If b = 0 Then
Range(Cells(z, Selection.Column), Cells(z, Selection.Columns.Count)).Interior.ColorIndex  _
= xlNone
End If
Next z
End Sub

Anzeige
AW: Erste Spalte in Auswahl ansprechen
07.12.2016 19:33:55
Michael
Hi,
Sub ZeilenMuster_v3() ' Makro zum abwechselndem Einfärben von Zeilen
Dim z&, zC&, z0&, s&, sC& ' & heißt so viel wie as long
Dim farbe&
s = Selection(1).Column ' (1) ist die linke, obere Ecke der Auswahl
z0 = Selection(1).Row
sC = Selection.Columns.Count
zC = Selection.Rows.Count
For z = z0 + 1 To z0 + zC - 1
If Cells(z, s).Value  Cells(z - 1, s).Value Then
If farbe = 15 Then farbe = xlNone Else farbe = 15
End If
Cells(z, s).Resize(, sC).Interior.ColorIndex = farbe
Next z
End Sub
Gruß,
Michael
Anzeige
AW: Erste Spalte in Auswahl ansprechen
08.12.2016 00:01:52
Gauss
Aller besten Dank!
gern geschehen, Gruß & owT
09.12.2016 20:59:25
Michael
;
Anzeige
Anzeige

Infobox / Tutorial

Erste Spalte in Auswahl ansprechen


Schritt-für-Schritt-Anleitung

Um die erste Spalte der Auswahl in VBA anzusprechen, kannst du folgenden Code verwenden. Dieser Code färbt abwechselnd die Zeilen basierend auf dem Wert in der ersten Spalte der Auswahl ein:

Sub ZeilenMuster_v3() ' Makro zum abwechselndem Einfärben von Zeilen
    Dim a As Integer, b As Integer ' Hilfsvariablen
    Dim z As Integer
    For z = 2 To Selection.Rows.Count
        If Cells(z, Selection.Columns(1).Column).Value <> Cells(z - 1, Selection.Columns(1).Column).Value Then
            a = a + 1
            b = a Mod 2
        End If
        If b = 1 Then
            Range(Cells(z, Selection.Columns(1).Column), Cells(z, Selection.Columns.Count)).Interior.ColorIndex = 15
        Else
            Range(Cells(z, Selection.Columns(1).Column), Cells(z, Selection.Columns.Count)).Interior.ColorIndex = xlNone
        End If
    Next z
End Sub

Dieser Code geht die Auswahl Zeile für Zeile durch und prüft die Werte in der ersten Spalte. Zuerst wird die Anzahl der verschiedenen Werte gezählt, und dann wird die Farbe der Zeilen abwechselnd gesetzt.


Häufige Fehler und Lösungen

  • Laufzeitfehler bei der Auswahl: Wenn du einen Laufzeitfehler bekommst, stelle sicher, dass deine Auswahl tatsächlich Zeilen und Spalten umfasst. Der Code funktioniert nur, wenn die Auswahl mindestens zwei Zeilen hat.

  • Falscher Zellbezug: Überprüfe, ob du die richtige Spalte ansprichst. Verwende Selection.Columns(1).Column, um sicherzustellen, dass die erste Spalte deiner Auswahl korrekt referenziert wird.


Alternative Methoden

Eine alternative Methode, um die oberste Zeile in Excel anzuzeigen und die erste Spalte zu bearbeiten, ist die Verwendung von Excel-Formeln. Du könntest eine Hilfsspalte verwenden, um die Werte der ersten Spalte zu analysieren, und dann die bedingte Formatierung nutzen, um die Zeilen einzufärben.


Praktische Beispiele

Ein Beispiel für die Verwendung des oben genannten Makros wäre:

  1. Wähle einen Bereich in Excel, zum Beispiel B3:E6.
  2. Führe das Makro ZeilenMuster_v3 aus.
  3. Du wirst sehen, dass die Zeilen abwechselnd eingefärbt werden, basierend auf den Werten in der ersten Spalte der Auswahl (Spalte B).

Tipps für Profis

  • Nutze .Resize in deinem Code, um die Formatierung auf mehrere Spalten gleichzeitig anzuwenden, ohne den Code für jede Spalte zu wiederholen.
  • Wenn du regelmäßig mit großen Datenmengen arbeitest, kann es hilfreich sein, die Performance deines Makros durch das Deaktivieren von Bildschirmaktualisierungen und Berechnungen zu verbessern:
Application.ScreenUpdating = False
Application.Calculation = xlCalculationManual
' Dein Code hier
Application.Calculation = xlCalculationAutomatic
Application.ScreenUpdating = True

FAQ: Häufige Fragen

1. Wie kann ich die oberste Zeile einblenden?
Um die oberste Zeile in Excel einzublenden, gehe zu "Ansicht" und aktiviere die Option "Fenster fixieren". Damit bleibt die oberste Zeile sichtbar, während du durch die Daten scrollst.

2. Kann ich das Makro auf eine bestimmte Spalte anwenden?
Ja, du kannst das Makro so anpassen, dass es nur für eine bestimmte Spalte funktioniert, indem du den Zellbezug entsprechend änderst.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige