Anzeige
Archiv - Navigation
1908to1912
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

VBA Verketten mit einzelnen Zellen

VBA Verketten mit einzelnen Zellen
09.12.2022 17:26:26
Peter
Hallo,
ich möchte über mehrere Blätter immer in die Zeile 8 (z.B. C8) das Ergebnis von Verketten darstellen, welches sich im Fall der Zelle C8 aus der Formel =VERKETTEN(C1;"_";C2;"_";C3;"_";C4;"_";C5;"_";C6) ergibt. Dann könnte man das Ganze ja nach rechts ziehen und hätte das gewünschte Ergebnis.
Ich möchte das Ganze jedoch per VBA lösen, da ich sehr viele Blätter habe und es immer identisch ist. Einzig variiert, wie viele Spalten belegt sind. Dies sieht man auch in der Arbeitsmappe. Man müsste also wahrscheinlich in jedem Blatt in Zeile 1 die letzte beschriebene Zelle identifizieren.
Hier der Link zu der Datei:
https://www.herber.de/bbs/user/156634.xlsx
Vielen Dank schon einmal vorab
Gruß Peter

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: VBA Verketten mit einzelnen Zellen
09.12.2022 17:43:20
Yal
Hallo Peter,

Sub Formel_eingeben()
Dim ws As Worksheet
For Each ws In ThisWorkbook.Worksheets
With Range(ws.Range("C1"), ws.Range("XFD1").End(xlToLeft)).Offset(7, 0)
.FormulaLocalR1C1 = "=VERKETTEN(R1C;""_"";R2C;""_"";R3C;""_"";R4C;""_"";R5C;""_"";R6C)"
Next
Next
End Sub
VG
Yal
AW: VBA Verketten mit einzelnen Zellen
09.12.2022 17:59:14
Peter
Hallo Yal,
ich bekomme leider die Fehlermeldung "Next ohne For".
AW: VBA Verketten mit einzelnen Zellen
09.12.2022 18:14:50
Daniel
Hi
Manche Antworter schreiben die Codes oft direkt ins Forum und nicht in den VBA-Editor
dann ist der Code natürlich nicht auf Fehler oder so getestet.
Das ist meinsten dann der Fall, wenn es nur kurze Sachen sind und der Fragesteller keine Beispieldatei hochgeladen hat, in der man den Code testen könnte.
Dann ist es natürlich sehr wahrscheinlich, dass sich da Tipp- und Flüchtigkeitsfehler einschleichen, die dann nicht erkannt werden.
Aber das solltest du als zusätzlichen Ansporn nehmen, denn viele Antworter gehen davon aus, dass die Fragesteller selber programmieren lernen wollen und nicht einfach nur kostenlos fertige Codes abgreifen und anwenden möchten, ohne diese zu verstehen (wenn man das will, sollte man sich besser an einen professionellen Dienstleister wenden)
Und wer selber programmieren will, sollte irgendwann auch mal lernen, mit fehlern umzugehen.
Da du dich mit "VBA-Bescheiden" eingestuft hast, sollte dir der Fehler auffallen und du solltest ihn auch korrigieren können, da es sich ja nur um wenige einfache Codezeilen handelt, ich kürze es mal auf das wesentliche, vielleicht fällt dir was auf.
achte auf die Einrückungen sowie die Start- und Endzeile jedes Blocks (ein Block ist immer das, was in der selben Einrückungsebene steht) und schaue, ob diese zueinander passen:

    For Each ws In ...
With Range(...)
.FormulaLocalR1C1 = "..."
Next
Next
Gruß Daniel
Anzeige
AW: VBA Verketten mit einzelnen Zellen
09.12.2022 18:24:27
Yal
Hallo Peter,
es ist absichtlich, um dich zu zwingen, dich mit dem Code auseinander zu setzen und damit dein VBA-Fähigkeit voranzutreiben ;-)
Nein, ich habe mich irgendwie vertippt. Ein With muss mit End With abgeschlossen werden, nicht mit Next.
VG
Yal
AW: VBA Verketten mit einzelnen Zellen
09.12.2022 17:47:44
Daniel
Hi
im Prinzip so

dim sh as Worksheet
dim sp as long
for each sh in thisworkbook.worksheets
sp = sh.Cells(1, columns.count).end(xltoleft).column
sh.Cells(8, 3).Resize(1, sp - 2).formulalocal = "=VERKETTEN(C1;""_"";C2;""_"";C3;""_"";C4;""_"";C5;""_"";C6)"
Next
btw du hast Excel 365.
Wenn die Datei nicht von älteren Excelversionen geöffnet werden muss, dann schau dir mal die neuen Textfunktionen TEXTKETTE oder TEXTVERKETTEN an.
Damit lässt sich die Aufgabe einfacher lösen als mit dem alten VERKETTEN, weil du damit nicht mehr jede Zelle und jedes Zwischenzeichen einzeln aufführen musst, sondern ganze Zellbereiche direkt angeben kannst.
Gruß Daniel
Anzeige
AW: VBA Verketten mit einzelnen Zellen
09.12.2022 17:57:54
Peter
Herzlichen Dank, der Code funktioniert.
Die neuen Textfunktionen schaue ich mir mal an.
Beides auch in E2019 H&B vorh. (owT)
12.12.2022 08:33:14
Pierre

303 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige