Anzeige
Archiv - Navigation
1448to1452
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-Namen statt Spalten-Nummern in einem Makro

Spalten-Namen statt Spalten-Nummern in einem Makro
29.09.2015 08:07:45
Ingo
Hallo
Ich habe hier eine Makro, was mir eine Text-Datei aus den Daten einer Excel-Tabelle erstellt:
Sub Reset()
' Produktdatei erstellen
Dim varSpalten
Dim intSpalte As Integer, lngZeile As Long
Dim objQuellblatt As Worksheet
Dim objZielblatt As Worksheet
Dim strPfad As String
Dim varTmp, strOut As String
Open "C:\[...]\datei.csv" For Output As #1
'Datenquelle für Produktdatei festlegen
Set objQuellblatt = ThisWorkbook.Sheets("Angebot")
varSpalten = Array(2, 3, 4, 5, 6, 9, 15, 24, 25, 26, 27, 28)
varTmp = objQuellblatt.UsedRange
For lngZeile = 1 To UBound(varTmp)
strOut = ""
If Len(varTmp(lngZeile, varSpalten(0))) > 0 Then
For intSpalte = 0 To UBound(varSpalten)
strOut = strOut & ";" & varTmp(lngZeile, varSpalten(intSpalte))
Next intSpalte
strOut = Mid(strOut, 2)
Print #1, strOut
End If
Next lngZeile
Close #1
End Sub

In der Zeile
varSpalten = Array(2, 3, 4, 5, 6, 9, 15, 24, 25, 26, 27, 28)

sind ja die Spalten-Nummern aufgeführt, dessen Inhalte verwendet werden sollen.
Ich würde nun gerne wissen, ob man diese Zeile auch umschreiben kann.
Und zwar so, dass ich dort nicht die Spalten-Nummern sondern die Spalten-Namen angebe.
Der Grund, warum ich das gerne möchte, ist folgender:
Wenn ich jetzt in meiner Tabelle irgendwelche Spalten hinzufüge, verschieben sich ja unter Umständen auch die Spalten und dessen Spalten-Nummern, die von dem Makro verwendet werden sollen. Und ich muss dass Makro jedes Mal anpassen.
Das würde ich mir gerne ersparen und darum im Makro gerne statt der Spalten-Nummern lieber die Spalten-Namen verwenden.
Da ich ja leider von VBA nicht so sehr viel verstehe, wollte ich Euch gerne um Hilfe bitten.
Gruß
Ingo

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Spalten-Namen statt Spalten-Nummern in einem Makro
29.09.2015 08:59:18
Beverly
Hi Ingo,
du könntest die Spalten-Nummern abfragen nach diesem Prinzip: Range("Spalte_A").Column, wobei "Spalte_A" z.B. der definierte Name für Spalte A ist.


AW: Spalten-Namen statt Spalten-Nummern in einem Makro
29.09.2015 09:06:28
Ingo
Hallo Karin
Danke für Deine Hilfe.
Ich bin nicht ganz sicher, ob ich das wirklich verstehe.
Ich bin ja leider nur Anfänger in VBA (wenn man das überhaupt so nennen kann).
Wäre das so korrekt?
varSpalten = Array(Range("Spalte_B").Column, Range("Spalte_C").Column, Range("Spalte_D").Column, 5,  [usw.])

Anzeige
AW: Spalten-Namen statt Spalten-Nummern in einem Makro
29.09.2015 09:19:36
Beverly
Hi Ingo,
ja, so solltes du das Array belegen können.


AW: Spalten-Namen statt Spalten-Nummern in einem Makro
29.09.2015 09:57:39
Ingo
Hallo Karin
OK prima. ich habe das nun bei mir im Code entsprechend angepasst.
Und es funktioniert super.
Danke nochmal sehr!
Gruß
Ingo

303 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige