Microsoft Excel

Herbers Excel/VBA-Archiv

Zwei Zellinhalte zusammenführen | Herbers Excel-Forum


Betrifft: Zwei Zellinhalte zusammenführen von: sunni
Geschrieben am: 11.01.2010 17:38:09

Hallo alle zusammen,

ich möchte ab Zelle D7 alles von Tabelle 1 durchlaufen (5000) Zeilen und bei einem bestimmten Begriff in Spalte D (dummy) sollen die Inhalte der Zelle D und E in D zusammengeführt werden. Das Zusammenfügen klappt auch, ich bekomme es nur nicht hin, dass alles durchlaufen wird und finde den Fehler nicht. Wahrscheinlich habe ich viel zu viele Variablen deklariert, oder? Mein Code:

Dim sdyQuelle2 As Worksheet
Dim rdyQuelle2 As Range
Dim dummybereich As Range
Dim ZelleDummy As Range, DummyLand As Range, ZeilenDummy As Long, dy As Long

Set sdyQuelle2 = wbGesamt.Worksheets("Tabelle1")
Set rdyQuelle2 = sdyQuelle2.Range("D7")
Set dummybereich = rdyQuelle2.CurrentRegion
Set ZelleDummy = rdyQuelle2.Offset(dy, 0)
Set DummyLand = rdyQuelle2.Offset(dy, 1)
Set ZeilenDummy = dummybereich.Rows.Count

For dy = 0 To ZeilenDummy - 1

If ZelleDummy = "dummy" Then
ZelleDummy.Offset(dy, 0).Value = ZelleDummy.Offset(dy, 0).Value & DummyLand.Offset(dy, 0).Value
dy = dy + 1
Set ZelleDummy = rdyQuelle2.Offset(dy, 0)
End If

Next dy

Vielen Dank für die Hilfe
sunni

  

Betrifft: AW: Zwei Zellinhalte zusammenführen von: JOWE
Geschrieben am: 11.01.2010 20:26:16

Hallo sunni,
sofern Du tasächlich lediglich die Spalte D ab Zeile 7 nach dem Wort "Dummy" durchsuchen willst und im Trefferfall den Inhalt der Zellen D und E der Trefferzeile in der Zelle D zusammenführen willst, würde der neue Inhalt der Zelle D dann "Dummy" plus "xxxxxx" lauten?!
Das würde ich so machen:

Sub dummy()
    Dim z As Object
    For Each z In Range("D:D")
        If z.Row >= 7 And z.Row <= 5000 And z.Value = "Dummy" Then
            z.Value = z.Value & Cells(z.Row, 5).Value
        End If
    Next
End Sub
Gruß
Jochen


  

Betrifft: AW: Zwei Zellinhalte zusammenführen von: sunni
Geschrieben am: 11.01.2010 21:00:11

klappt leider nicht.
Ich hab wohl auch vergessen zu erwähnen, dass die Auswertung von einem anderen Tabellenblatt aus gestartet wird. Darum auch die vielen Variablen.
So erkennt er leider z.Row nicht.


  

Betrifft: AW: Zwei Zellinhalte zusammenführen von: sunni
Geschrieben am: 12.01.2010 10:53:29

habs jetzt rausgefunden. Ich hatte die Hochzählung in der IF-Schleife statt außerhalb.

Dim sdyQuelle2 As Worksheet
Dim rdyQuelle2 As Range
Dim ZelleDummy As Range
Dim DummyLand As Range
Dim dy As Long
Set sdyQuelle2 = ActiveWorkbook.Worksheets("Tabelle1")
Set rdyQuelle2 = sdyQuelle2.Range("D7")
Set ZelleDummy = rdyQuelle2.Offset(dy, 0)
Set DummyLand = rdyQuelle2.Offset(dy, 1)

Application.Calculation = xlCalculationManual
Do Until IsEmpty(ZelleDummy)
If ZelleDummy = "dummy" Then
ZelleDummy.Value = ZelleDummy.Value & " " & DummyLand.Offset(dy, 0).Value
End If
dy = dy + 1
Set ZelleDummy = rdyQuelle2.Offset(dy, 0)
Loop
Application.Calculation = xlCalculationAutomatic


Beiträge aus den Excel-Beispielen zum Thema "Zwei Zellinhalte zusammenführen"