Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1748to1752
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

Einfügen leerer Spalten - variabel

Einfügen leerer Spalten - variabel
30.03.2020 14:05:03
ND
Guten Tag,
ich bin neu hier und habe leider nur sehr wenige VBA-Kenntnisse.
Ich helfe mir immer mit dem Makro-Recorder und Suchergebnissen im Web und bastel mir daraus (meistens) eine funktionierende Lösung. Dies dauert natürlich häufig lange bis es funktioniert und als stilvoll würde ich die Codes hinterher auch nicht betrachten... aber man lernt es halt leider auch nicht von heute auf Morgen.
Nun habe ich eine Aufgabenstellung, die ich leider trotz intensivem Ausprobieren und Web-Suchen nicht lösen kann:
Ich möchte gerne in einer vorhandenen Tabelle auf Tabellenblatt 1 immer vor der vorletzten Spalte (Tabellengröße ist vorher variabel) eine bestimmte Anzahl an leeren Spalten einfügen. Die Anzahl der einzufügenden Spalten richtet sich wiederum nach dem Wert n in Zelle "Y6" auf Tabellenblatt 1.
Geht die Tabelle z.B. von Spalte A bis E und steht z.B. in Y6 (für n) der Wert "5", so soll mir der Code in meiner Tabelle vor der Spalte F fünf neue, leere Spalten einfügen.
Ich wäre sehr dankbar, wenn mir hier jemand helfen würde - ich bekomme es einfach nicht hin, diese vielen Variablen richtig zu verarbeiten.
Viele Grüße
Nils

11
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Einfügen leerer Spalten - variabel
30.03.2020 14:12:21
Helmut
Hallo,
wenn die Daten in `Spalte A bis Spalte E stehen, dann sind doch die folgenden Spalten sowieso leer-oder?
AW: Einfügen leerer Spalten - variabel
30.03.2020 14:18:13
ND
Entschuldige, da hatte ich einen Dreher in der Spaltenbeschreibung:
die Tabelle soll im Beispiel von A bis F gehen und die leeren Spalten soll vor Spalte E eingefügt werden. In den Spalten E und F stehen Daten, die erhalten bleiben müssen.
AW: Einfügen leerer Spalten - variabel
30.03.2020 14:21:02
Regina
Hi, dann so (mein erster Code würde falsch einfügen:)
Public Sub test()
Dim lng_spalte As Long
Dim lng_anzahl As Long
Dim lng_zaehler As Long
lng_anzahl = Worksheets("tabelle1").Range("Y6").Value
lng_spalte = Worksheets("Tabelle1").Cells(1, Columns.Count).End(xlToLeft).Column -1
For lng_zaehler = 1 To lng_anzahl
Worksheets("Tabelle1").Columns(lng_spalte).Insert
lng_spalte = lng_spalte + 1
Next
End Sub

Anzeige
AW: Einfügen leerer Spalten - variabel
30.03.2020 14:28:12
ND
Hallo Regina,
vielen Dank für die sehr schnelle Antwort!
Ich habe deinen Code eingesetzt, aber leider startet hier:
Worksheets("Tabelle1").Columns(lng_spalte).Insert
lng_spalte = lng_spalte + 1
der Debugger. Hast du eine Ahnung warum?
AW: Einfügen leerer Spalten - variabel
30.03.2020 14:52:12
ND
Könnte es daran liegen, dass bei mir die "Tabelle1" anders heißt, nämlich "Effekte" und ich auch versuche diese so anzusprechen? Denn dein Code funktioniert, wenn ich ihn unverändert in eine Testdatei einsetze.
AW: Einfügen leerer Spalten - variabel
30.03.2020 14:57:16
Regina
...dazu bräuchte ich jetzt meine Kristallkugel ...
Welche Fehlermeldung?
Ws steht in lng_spalte?
Guß Regina
AW: Einfügen leerer Spalten - variabel
30.03.2020 15:02:08
ND
Fehlermeldung ist "Laufzeitfehler '1004', Anwendungs- oder objektdefinierter Fehler".
Liegt es daran dass die Tabelle1 bei mir "Effekte" heißt und ich sie so versuche anzusprechen?
Leider weiß ich nicht wie ich lesen kann, was lng_spalte ausgibt.
Anzeige
AW: Einfügen leerer Spalten - variabel
30.03.2020 15:09:30
Regina
.... dann musst Du auf jeden Fall im Code aus "Tabelle1" ein "Effekte" machen und zwar an allen Stellen.
Wenn Du in einen Fehler läufst, kannst Du mit der Maus auf eine Variable zeigen und so den momentanen Wert der Variablen sehen.
Gruß Regina
AW: Einfügen leerer Spalten - variabel
30.03.2020 15:19:01
ND
Ah okay; lng_spalte war 0.
Nun habe ich auch meinen Fehler gefunden - ich hatte beim Übertragen nicht beachtet dass du die vorletzte Spalte in Zeile 1 suchst - bei mir muss er in Zeile 4 suchen und konnte daher nichts finden bzw. landete bei "-1". Das habe ich nun angepasst und jetzt funktioniert es einwandfrei.
Vielen Dank für deine Hilfe und auch für den Hinweis mit den Variablen-Werten!
Viele Grüße
Nils
Anzeige
AW: Einfügen leerer Spalten - variabel
30.03.2020 16:09:32
Regina
... na prima! Danke für die Rückmeldung.
Gruß Regina
AW: Einfügen leerer Spalten - variabel
30.03.2020 14:18:54
Regina
Hi, meinst Du so:
Public Sub test()
Dim lng_spalte As Long
Dim lng_anzahl As Long
Dim lng_zaehler As Long
lng_anzahl = Worksheets("tabelle1").Range("Y6").Value
lng_spalte = Worksheets("Tabelle1").Cells(1, Columns.Count).End(xlToLeft).Column
For lng_zaehler = 1 To lng_anzahl
Worksheets("Tabelle1").Columns(lng_spalte).Insert
lng_spalte = lng_spalte + 1
Next
End Sub
Gruß Regina

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige