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

Forumthread: Zeilenwerte verbundene Zellen auslesen

Zeilenwerte verbundene Zellen auslesen
06.02.2020 08:54:14
Bo
Hallo,
ich möchte gerne die Zellwerte aus Spalte 4 auslesen und diese in eine benachbarte Spalte 2 schreiben Sofern kein wert ausgelesen werden kann, soll ein verfügbar in Spalte 2 geschrieben werden. Was mir Probleme bereitet ist, dass die auszulesenden Zellen z.T. mit benachbarten Zellen der gleichen Zeile verbunden sind. Die Variable b nutze ich später zur Definition der Spalte i soll in der Spalte durchzählen. Zum Verständnis habe ich rechts das gewünschte Ergebnis formuliert.

Sub test()
Dim i, b As Integer
b = 4
For i = 5 To 12
If Cells(i, b).Value  "" Then
Cells(i, 2).Value = Cells(i, b).Value
Else
If Cells(i, b).MergeCells = True Then
While Cells(i, b).Value = ""
b = b - 1
Wend
Cells(i, 2).Value = Cells(i, b).Value
End If
End If
If Cells(i, 4).Value = "" Then Cells(i, 2).Value = "Verfügbar"
Next
End Sub
Userbild
Anzeige

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

Betreff
Datum
Anwender
Anzeige
AW: Zeilenwerte verbundene Zellen auslesen
06.02.2020 09:09:51
Daniel
Hi
Im Normalfall stehen die Werte bei verbundenen Zellen immer in der ersten Zelle des Verbundes. In deinem Beispiel wäre das nicht Spalte 4, sondern 3. Mit folgender Methode kann man von einer beliebigen Zelle des Verbundes auf die erste Zelle mit dem angezeigten Inhalt referenzieren:
Cells(i,4).mergearea(1)
Gruß Daniel
Anzeige
AW: Zeilenwerte verbundene Zellen auslesen
06.02.2020 10:56:39
Bo
Hallo Daniel,
danke für die Antwort. Ich bekomme eine Typenunverträglichkeit. Wenn aufgrund von Mergecells dann in die Anfangsspalte gesprungen wird, vermute ich zudem, dass er nicht wieder in das originale b springt, sondern in der Anfangsspalte bleibt.
Sub test2()
Dim i, b As Integer
b = 4
For i = 5 To 12
If Cells(i, b).MergeArea.Value  "" Then
Cells(i, 2).Value = Cells(i, b).MergeArea.Value
Else: Cells(i, 2).Value = "verfügbar"
End If
Next
End Sub

Anzeige
du hast (1) vergessen.
06.02.2020 12:22:06
Rudi
Hallo,
Cells(i, 2).Value = Cells(i, b).MergeArea(1).Value
Gruß
Rudi
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige

Infobox / Tutorial

Zellwerte aus verbundenen Zellen in Excel auslesen


Schritt-für-Schritt-Anleitung

  1. Öffne Excel und wechsle in die VBA-Entwicklungsumgebung: Drücke ALT + F11, um das VBA-Fenster zu öffnen.

  2. Füge ein neues Modul hinzu: Klicke im linken Bereich mit der rechten Maustaste auf deinen Workbook-Namen und wähle Einfügen > Modul.

  3. Kopiere den folgenden VBA-Code in das Modul:

    Sub test()
       Dim i, b As Integer
       b = 4
       For i = 5 To 12
           If Cells(i, b).Value <> "" Then
               Cells(i, 2).Value = Cells(i, b).Value
           Else
               If Cells(i, b).MergeCells = True Then
                   While Cells(i, b).Value = ""
                       b = b - 1
                   Wend
                   Cells(i, 2).Value = Cells(i, b).Value
               End If
           End If
           If Cells(i, 4).Value = "" Then Cells(i, 2).Value = "Verfügbar"
       Next
    End Sub
  4. Führe das Makro aus: Wechsle zurück zu Excel, drücke ALT + F8, wähle test aus und klicke auf Ausführen.


Häufige Fehler und Lösungen

  • Typenunverträglichkeit: Achte darauf, dass die Zellen, die du ansprechen möchtest, tatsächlich die richtigen Datentypen haben. Falls du eine Typenunverträglichkeit bekommst, überprüfe die Variablenzuweisungen in deinem Code.

  • MergeArea nicht richtig angesprochen: Wenn du die Werte aus verbundenen Zellen nicht korrekt auslesen kannst, stelle sicher, dass du die erste Zelle des Verbundes mit Cells(i, b).MergeArea(1).Value ansprechen kannst.


Alternative Methoden

Eine einfache Methode, um die Werte aus verbundenen Zellen zu übernehmen, ist die Verwendung von Formeln anstelle von VBA. Du kannst =WENN(ISTLEER(A1); "Verfügbar"; A1) in die benachbarte Zelle eingeben, um den Inhalt der verbundenen Zelle anzuzeigen oder "Verfügbar" zu schreiben, falls leer.


Praktische Beispiele

Hier ist ein Beispiel, wie du den Inhalt von verbundenen Zellen in Excel finden und auslesen kannst:

Sub test2()
    Dim i, b As Integer
    b = 4
    For i = 5 To 12
        If Cells(i, b).MergeArea(1).Value <> "" Then
            Cells(i, 2).Value = Cells(i, b).MergeArea(1).Value
        Else
            Cells(i, 2).Value = "Verfügbar"
        End If
    Next
End Sub

Dieses Beispiel zeigt, wie du den Excel Inhalt verbundener Zellen auslesen kannst, um die gewünschten Werte in einer anderen Spalte zu übernehmen.


Tipps für Profis

  • Verwende die MergeArea-Eigenschaft: Wenn du mit verbundenen Zellen arbeitest, ist es wichtig, die MergeArea-Eigenschaft zu nutzen, um auf die gesamte Gruppe von verbundenen Zellen zuzugreifen.

  • Vermeide überflüssige MergeCells: Überlege, ob du wirklich verbundene Zellen benötigst, da sie oft die Datenverarbeitung und -analyse erschweren können.


FAQ: Häufige Fragen

1. Wie kann ich Excel verbundene Zellen finden? Verwende die MergeCells-Eigenschaft in VBA, um festzustellen, ob eine Zelle Teil eines verbundenen Bereichs ist.

2. Können verbundene Zellen in Excel gesucht werden? Ja, du kannst mit VBA eine Schleife verwenden, um durch die Zellen zu iterieren und so verbundene Zellen zu finden.

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