Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Mehrere Zellen auswählen

Mehrere Zellen auswählen
15.11.2019 13:14:46
Kay
Hallo,
ich hätte auch mal eine Frage, bzw. ein Problem.
Ich habe eine variable Anzahl an Zellen, die zwar in einer Zeile liegen, jedoch nicht nebeneinander (A1, C1, G1, H1,?). Diese möchte ich auswählen. Bei dem Befehl Union(cells(1,1), cells(3,1),...) muss ich die Zelle explizit ansprechen. Da jedoch die Anzahl variabel ist, ist die Frage wie ich in den Befehl Union(Cells,.... ) alle benötigten Zellen (A1, C1, G1, H1,?) bekomme.
Wie kann ich das in VBA umsetzen?
Danke für eure Hilfe.
Gruß
Anzeige

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Mehrere Zellen auswählen
15.11.2019 13:43:25
Hajo_Zi
Zu Deiner Datei kann ich nichts schreiben, was wohl daran liegt das ich nicht auf fremde Rechner schaue.Ich baue keine Datei nach.
Sollte die Datei verlinkt werden?
Option Explicit
Sub Test()
Dim RaZelle As Range
Dim Razelle2 As Range
Set RaZelle = Rows(2).SpecialCells(xlCellTypeConstants)
For Each Razelle2 In RaZelle
MsgBox Razelle2.Address
Next Razelle2
End Sub

Anzeige
AW: Mehrere Zellen auswählen
19.11.2019 10:34:53
Kay
nein, die Datei soll nicht verlinkt werden.
AW: Mehrere Zellen auswählen
19.11.2019 17:22:52
Piet
Hallo Kay
im Forum Archiv fand ich dieses Beispiel über Set Bereiche, das du auf deineb Fall erweitern kannst.
Es über For Next automatisieren fand ich keine Lösung. Aber mit Set klappt es offenbar.
mfg Piet
Public Sub BerMark()
Dim Bereich1, Bereich2, Bereich3
Set Bereich1 = ActiveSheet.Range("C5:C12")
Set Bereich2 = ActiveSheet.Range("E5:E12")
Set Bereich3 = ActiveSheet.Range("G5:G12")
Union(Bereich1, Bereich2, Bereich3).Activate
End Sub

Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige
Anzeige

Infobox / Tutorial

Mehrere Zellen in Excel mit VBA auswählen


Schritt-für-Schritt-Anleitung

Um mehrere Zellen in Excel auszuwählen, die nicht nebeneinander liegen, kannst du VBA verwenden. Hier ist eine Schritt-für-Schritt-Anleitung, wie du dies umsetzen kannst:

  1. Öffne den VBA-Editor: Drücke ALT + F11, um den Visual Basic for Applications (VBA) Editor zu öffnen.

  2. Füge ein neues Modul hinzu: Klicke mit der rechten Maustaste im Projektfenster und wähle Einfügen > Modul.

  3. Gib den folgenden VBA-Code ein:

    Sub MehrereZellenAuswaehlen()
       Dim Bereich As Range
       Dim Zelle As Range
    
       ' Erstelle einen leeren Bereich
       Set Bereich = Nothing
    
       ' Füge die gewünschten Zellen hinzu
       For Each Zelle In ActiveSheet.Cells(1, 1).Resize(1, ActiveSheet.Columns.Count)
           If Not IsEmpty(Zelle.Value) Then
               If Bereich Is Nothing Then
                   Set Bereich = Zelle
               Else
                   Set Bereich = Union(Bereich, Zelle)
               End If
           End If
       Next Zelle
    
       ' Wähle den Bereich aus, wenn er nicht leer ist
       If Not Bereich Is Nothing Then
           Bereich.Select
       End If
    End Sub
  4. Führe das Makro aus: Drücke F5, um das Makro auszuführen.


Häufige Fehler und Lösungen

  • Fehler: "Objektvariable nicht festgelegt"

    • Lösung: Stelle sicher, dass der Bereich korrekt initialisiert wurde, bevor du mit Union arbeitest.
  • Fehler: "Die Methode 'Union' scheitert"

    • Lösung: Überprüfe, ob die Zellen, die du zusammenführen möchtest, tatsächlich existieren und nicht leer sind.

Alternative Methoden

Wenn du eine andere Methode ausprobieren möchtest, um mehrere Zellen auszuwählen, kannst du auch die folgenden Ansätze in Betracht ziehen:

  1. Direkte Auswahl in VBA:

    ActiveSheet.Range("A1,C1,G1,H1").Select

    Dies ist einfach, wenn du die Zellen genau kennst.

  2. Verwendung von AutoFilter: Mit AutoFilter kannst du auch Daten filtern und dann die gefilterten Zellen auswählen.


Praktische Beispiele

Hier sind einige praktische Beispiele zur Auswahl mehrerer Zellen:

  1. Mehrere Bereiche auswählen:

    Public Sub BereicheAuswaehlen()
       Dim Bereich1 As Range
       Dim Bereich2 As Range
       Set Bereich1 = ActiveSheet.Range("A1:A10")
       Set Bereich2 = ActiveSheet.Range("C1:C10")
       Union(Bereich1, Bereich2).Select
    End Sub
  2. Variable Zellen auswählen: Wenn du eine Liste von Zellen hast, die du auswählen möchtest:

    Sub VariableZellen()
       Dim zellenArray As Variant
       Dim bereich As Range
    
       zellenArray = Array("A1", "C1", "G1", "H1")
       For i = LBound(zellenArray) To UBound(zellenArray)
           If bereich Is Nothing Then
               Set bereich = Range(zellenArray(i))
           Else
               Set bereich = Union(bereich, Range(zellenArray(i)))
           End If
       Next i
       bereich.Select
    End Sub

Tipps für Profis

  • Verwende Option Explicit: Dies hilft dir, mögliche Fehler in der Variablen-Deklaration zu vermeiden.
  • Fehlerbehandlung einfügen: Nutze On Error Resume Next, um Laufzeitfehler abzufangen, die bei der Auswahl von Zellen auftreten können.
  • Makros speichern: Speichere deine Makros in einer Arbeitsmappe mit der Endung .xlsm, um sie verwenden zu können.

FAQ: Häufige Fragen

1. Wie kann ich in Excel VBA mehrere Zellen gleichzeitig auswählen?
Du kannst die Union-Methode verwenden, um nicht benachbarte Zellen auszuwählen.

2. Was ist der Unterschied zwischen Select und Activate in VBA?
Select wählt ein Objekt aus, während Activate es in den Vordergrund bringt. In den meisten Fällen ist Select ausreichend.

3. Kann ich mehrere Bereiche gleichzeitig auswählen?
Ja, du kannst mehrere Bereiche mit der Union-Methode zusammenführen und sie dann auswählen.

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