Anzeige
Archiv - Navigation
1736to1740
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
Inhaltsverzeichnis

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

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
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

20 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige