Supportnet Computer
Planet of Tech

Supportnet / Forum / Tabellenkalkulation

Excel: variable Verkettung von Zellen





Frage

Ich habe text, der sich in unterschiedlich vielen aufeinanderfolgenden Zeilen einer Spalte befindet. Diesen Text möchte ich in einem Feld verkettet (aneinandergefügt) haben. Das Kommando: VERKETTEN(A1;A2) hilft mir nicht richtig weiter. Wer hat einen Tip?

Antwort 1 von vadder

=a1&a2

vadder

Antwort 2 von Hajo_Zi

Hallo Namensloser,

was spricht gegen verketten?

Gruß Hajo

Antwort 3 von exeter9999

Namenlos=Kurt


Danke für die Infos.

gegen WERKETTEN spricht: ich habe in einer Tabelle ca. 1000 Texte, die aus unterschiedlich vielen Zeilen in einer Spalte bestehen, die zusammengefasst werden sollen in einem Textfeld.
Bei VERKETTEN muss man jedes Feld als Paramezet angeben (A10;A11;A12 usw.)
Ein grosser Schritt wäre schon, wenn ich die Verkettungsanweisung variabel gestalten könnte, sprich: Startfeld Operator Endfeld (analog zu Summe)
Habe ich aber nicht rausgefunden.

Gruss Kurt

Antwort 4 von rainberg

Hallo Kurt,

da hast Du mit Formeln schlechte Katen.
Folgendes Makro (was Du evtl. noch anpassen musst) sollte Dir helfen.

Option Explicit

Sub verketten()
    Dim rngC As Range, rngBer As Range, strText As String
    Set rngBer = Range("A" & InputBox("Startzeile") & ":A" & InputBox("Zielzeile"))
    strText = ""
    For Each rngC In rngBer
        strText = strText & rngC.Value
    Next
    Range("B1").Value = strText
End Sub


Im Moment wird Spalte A abgefragt und das Ergebnis in B1 ausgegeben.

Gruß
Rainer

Antwort 5 von exeter9999

Hallo Rainer,

danke, Dein Tip war gut ...:-)
Um praktikabel zu werden müssten die selektierten Felder bearbeitet werden und das Ergebnis relativ abgelegt werden, z.B. neben dem Startfeld.
Also... eine Denkübung für eine ruhige Minute ...


Gruss

Kurt

Antwort 6 von rainberg

Hallo Kurt,

hier die Änderung

Option Explicit

Sub verketten()
    Dim rngC As Range, rngBer As Range, strText As String
    Dim lngStart As Long, lngZiel As Long
    lngStart = InputBox("Startzeile")
    lngZiel = InputBox("Zielzeile")
    Set rngBer = Range("A" & lngStart & ":A" & lngZiel)
    strText = ""
    For Each rngC In rngBer
        strText = strText & rngC.Value
    Next
    Range("B" & lngStart).Value = strText
End Sub


Gruß
Rainer

Antwort 7 von exeter9999

Hallo Rainer,

danke, das ist schon sehr gut.

Gruss

Kurt

Antwort 8 von exeter9999

Vielen Dank an alle für die Hilfe.

Hallo Rainer,
Ich hatte noch nicht die Ruhe weiterzumachen, aber ich glaube du hast mich auf den Trichter gebracht, mich in Zukunft mit Macro-Programmierung zu befassen.

Schönen Gruss

Kurt

Ich möchte kostenlos eine Frage an die Mitglieder stellen:


Ähnliche Themen:


Suche in allen vorhandenen Beiträgen: