Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1536to1540
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

Spaltenüberschrift nicht vorhanden

Spaltenüberschrift nicht vorhanden
31.01.2017 10:10:04
Christian
Hallo VBA-Profis,
ich habe ein Problem beim Programmieren (wer nicht?). Ich habe es zur Aufgabe bekommen, aus einer monatlichen Exceldatei die jeweiligen Spalten mit Zusatzkosten in eine vorhandene Exceldatei zu kopieren. Leider sind nicht jeden Monat alle Zusatzkosten entstanden, sodass diese Spalte beim "import" nicht gesehen wird. Wie kann ich es hinbekommen, das die Tabelle die Importiert wird und die fehlenden Spalten trotzdem als leere Spalte eingefügt wird.
Kurzes Beispiel:
Importdatei Mai hat folgende Spalten:
Gelb ROT blau grün
Importdatei Juni hat aber nur folgende Spalten:
Gelb blau grün
Trotzdem soll beim Import die Tabelle für Juni so aussehen:
Gelb ROT blau grün.
Boohhha wie mach ich das in VBA - mit "Match" oder "Find"?

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Spaltenüberschrift nicht vorhanden
31.01.2017 20:57:40
Piet
Hallo Christian,
unter der Voraussetzung das die Spalten Überschrift vom Text her immer gleich ist einfach so wie unten. Da wo "Spalten Text" steht muss natürlich -deine Überschrift- stehen. Wenn sie nicht vorhanden ist wird eine Leerspalte eingefügt, die du in Zelle C1 direkt beschriften kannst. Wenn es andere Spalten sind musst du die Spalte Angabe Columns("C") entsprechen aendern.
mfg Piet

Sub Spalten_Test()
'Spalten Überschrift prüfen, wenn fehlt leere Spalte einfügen
If Range("C1")  "Spalten Text" Then
Columns("C").Insert Shift:=xlToRight
Range("C1").Value = "Spalten Text"
End If
End Sub

Anzeige
AW: Spaltenüberschrift nicht vorhanden
31.01.2017 22:33:57
fcs
Hallo Christian,
hier eine Lösung mit Match, die in einer Schleife alle Spaltentitel abarbeitet.
LG
Franz
Sub Spalten_in_Import_einfuegen()
Dim arrTitel As Variant, varSpalte As Variant
Dim Spalte As Long
Dim wksImport As Worksheet
'Array mit den Spalten-Titeln in der richtigen Reihenfolge
arrTitel = Array("Gelb", "ROT", "blau", "grün")
Set wksImport = ActiveSheet
With wksImport
For Spalte = LBound(arrTitel) + 1 To UBound(arrTitel) + 1
varSpalte = Application.Match( _
arrTitel(Spalte - 1), .Rows(1), 0)
If IsError(varSpalte) Then
.Columns(Spalte).Insert shift:=xlShiftToRight
.Cells(1, Spalte).Value = arrTitel(Spalte - 1)
End If
Next
End With
End Sub

Anzeige

303 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige