Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

"Export"-Makro ignoriert ausgebl. Spalten :(

"Export"-Makro ignoriert ausgebl. Spalten :(
10.11.2008 11:01:12
Markus
Hallo zusammen,
vorab, bin zwar recht flott mit Excel allerdings bei VBA ein ziemlicher Neuling.
Ich habe hier ein recht umfangreiches Excelsheet daß über gut 100 Spalten geht. Das dient zur Anlage von neuen Artikeln im Sortiment. Innerhalb des Sheets sind ziemlich viele ausgeblendete Spalten, die für den späteren Import über eine definierte Schnittstelle ins Warenwirtschaftssystem bestimmt sind und mit fixen (gesperrten) Werten befüllt sind (oder auch leer, da die Schnittstelle eine bestimmte Menge Felder in bestimmter Reihenfolge braucht)
Nun habe ich ein Makro (mithilfe Google) zusammengestellt, daß mir das Makro in 6 .txt- Dateien exportiert :

Sub Export()
Dim i As Long
Dim Zeichen As String
Dim strTemp As String
Dim strTrennzeichen As String
Dim strErsetzen As String
Dim strMappenpfad As String
Dim strTempDateiPfad As String
Dim strArtMEH As String
Dim strArtLIE As String
Dim strArtEK As String
Dim strArtVK As String
Dim strArtEAN As String
Dim Zeilenanzahl As Integer
Dim Anleger As String
Dim z As Integer
Dim c As Integer
Dim Meh As String
Dim Bereich1 As Object
Dim Bereich2 As Object
Dim Bereich3 As Object
Dim Bereich4 As Object
Dim Bereich5 As Object
Dim Bereich6 As Object
z = "4"
c = "1"
Anleger = "ZEN06945"
strErsetzen = ","
strMappenpfad = ActiveWorkbook.Path
strMappenpfad = InputBox("In welchem Ordner sollen die Dateien gespeichert werden (ohne  _
Dateinamen)?", "Dateien-Pfad", strMappenpfad)
If strMappenpfad = "" Then Exit Sub
strArtikel = "Artikelstamm.txt"
strArtMEH = "ArtMEH.txt"
strArtLIE = "ArtLIE.txt"
strArtEK = "ArtEK.txt"
strArtVK = "ArtVK.txt"
strArtEAN = "ArtEAN.txt"
strTrennzeichen = InputBox("Welches Trennzeichen soll verwendet werden?", "CSV-Export", "|") _
_
If strTrennzeichen = "" Then Exit Sub
Zeilenanzahl = ActiveSheet.Cells(Rows.Count, 1).End(xlUp).Row
Set Bereich1 = ActiveSheet.Range("A4:BW" & Zeilenanzahl)
Set Bereich2 = ActiveSheet.Range("BX4:CA" & Zeilenanzahl)
Set Bereich3 = ActiveSheet.Range("CB4:CT" & Zeilenanzahl)
Set Bereich4 = ActiveSheet.Range("CU4:DB" & Zeilenanzahl)
Set Bereich5 = ActiveSheet.Range("DC4:DE" & Zeilenanzahl)
Set Bereich6 = ActiveSheet.Range("DF4:DI" & Zeilenanzahl)
strTempDateiPfad = strMappenpfad & "\" & strArtikel
Open strTempDateiPfad For Output As #1
For Each Zeile In Bereich1.Rows
strTemp = Anleger & strTrennzeichen
For Each Zelle In Zeile.Cells
If InStr(1, Zelle.Text, strErsetzen) > 0 Then
For i = 1 To Len(Zelle.Text)
Zeichen = Mid(Zelle.Text, i, 1)
Select Case Zeichen
Case ","
Zeichen = "."
End Select
strTemp = strTemp & Zeichen
Next i
strTemp = strTemp & strTrennzeichen
Else
strTemp = strTemp & CStr(Zelle.Text) & strTrennzeichen
End If
Next
If Right(strTemp, 1) = strTrennzeichen Then strTemp = Left(strTemp, Len(strTemp) - 1)
Print #1, strTemp
strTemp = ""
Next
Close #1
strTempDateiPfad = strMappenpfad & "\" & strArtMEH
Open strTempDateiPfad For Output As #1
For Each Zeile In Bereich2.Rows
For Each Zelle In Zeile.Cells
strTemp = Anleger & strTrennzeichen & (ActiveSheet.Cells(z, 1)) & strTrennzeichen
If StrComp(Zelle.Text, "") = 0 Then
strTemp = ""
c = c + 1
Else
Select Case c
Case "1"
Meh = CStr(Zelle.Text) & "|1|1|1|1|1|1|1|1|1||||||||||1"
Case "2"
Meh = "11|" & CStr(Zelle.Text) & "|0|1|1|1|1|0|0|0|0||||||||||1"
Case "3"
Meh = "26|" & CStr(Zelle.Text) & "|0|1|1|1|1|0|0|0|0||||||||||1"
Case "4"
Meh = "25|" & CStr(Zelle.Text) & "|0|1|1|1|1|0|0|0|0||||||||||1"
End Select
strTemp = strTemp & Meh
Print #1, strTemp
strTemp = ""
c = c + 1
End If
Next
z = z + 1
c = 1
Next
z = 4
Close #1


Das Problem nun hierbei:
die Inhalte der ausgeblendeten Spalten werden nicht exportiert!
Das Makro erkennt scheinbar die Anzahl der Spalten, da es die richtige Anzahl der Trennzeichen setzt, allerdings sobald sie ausgeblendet sind, befüllt es die txt-Dateien nicht mit dem INhalt, wenn ich sie händisch einblende schon.
Wo liegt hier der Hund begraben ?
Danke schonmal für jedwege Hilfe und Hinweise,
lg Markus

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: "Export"-Makro ignoriert ausgebl. Spalten :(
10.11.2008 11:05:46
Ptonka
Hallo Markus,
ich würde an Deiner Stelle, bevor Du die Spalten exportierst, alle Spalten einblenden:
Cells.Select
Selection.EntireColumn.Hidden = False
Nach erfolgtem Export kannst Du die nicht mehr gewünschten Spalten wieder ausblenden, also z.B.:
Columns("H:L").Select
Selection.EntireColumn.Hidden = True
So hast Du die Garantie, dass alle Spalten exportiert werden, die Excel-Datei aber wieder mit den ausgeblendeten Spalten vorgefunden wird.
Gruß,
Ptonka
AW: "Export"-Makro ignoriert ausgebl. Spalten :(
10.11.2008 11:18:02
Markus
Vielen Dank,
werd das mal so umsetzen. Dachte allerdings es gibt vielleicht noch einen anderen Weg, da wie erwähnt die versteckten Spalten leider über das ganze Blatt verteilt sind und ich so eben viele einzelne kleine bereiche definieren muss.
Wär jetzt zwar einmalig nicht so tragisch, aber sobald Änderungen (neue Spalten) dazukommen muss ich jedesmal diese Spalten ebenfalls neu definieren und beim derzeitigen Entwicklungsstand kann das leider noch öfters auftreten
Anzeige
AW: "Export"-Makro ignoriert ausgebl. Spalten :(
10.11.2008 11:33:59
Markus
Ok, hab das erneute Ausblenden mit einem etwas unsauberen Trick umgangen, funktioniert aber so dank deiner Hilfe.
Beim Ausführen des Makros wird das Sheet zuerst gesichert, dann alles eingeblendet und am Ende einfach ohne zu Speichern geschlossen, Problem gelöst :)

302 Forumthreads zu ähnlichen Themen


Hallo Hans,
wenn ich die URLs richtig interpretiere, haben wir im Forum soeben die Zahl von 1 Million Beiträgen überschritten.
Herzlichen Glückwunsch zu dem Erfolg Deines "Babys"!
Gruß
Martin

Hallo Leute,
heute habe ich wieder mal ein einfaches Problem für Euch, an dem ich aber nicht weiter kommen:
Ich möchte die Arbeitsblätter in meiner Arbeitsmappe zählen. Das ist ja kein Problem (ThisWorkbook.sheets.count).
wenn das makro mehr als ein Arbeitsblatt zählt (also das Erge...

Hallo zusammen!
Ich habe da als blutiger Anfänger in VBA zwei Fragen:
1.) Wie kann ich in meiner Tabelle in jeder zweiten Spalte 4 leere Spalten einfügen lassen?
2.) Dann möchte ich unter den Inhalt der ersten fünf Spalten (A-E) den Inhalt der zweiten 5 Spalten (F-J) usw. In der grö...

Guten Morgen!
Ich hätte folgendes Problem: Ich erhalte automatisiert Exceltabellen, bei denen nicht alle Zellen einer Zeile gefüllt werden, wenn dort der Inhalt einer darüberliegenden Zeile stehen sollte. Zur Weiterverarbeitung muss ich aber diese Zellen mit den dazugehörigen Werten füllen....

Hallo,
google spuckt Zu "Excel" und "Häufigkeitslücken" lediglich 3 Treffer aus, die nicht gerade brauchbar für meine Aufgabe sind.
Ich muss für 3 Variablen eine Typisierung mit einer Häufigkeitslücke durchführen.
Hiermit bin ich fast gänzlich überfragt. Mit Quantilen hatte ich das...

Hallo zusammen,
ich habe eine lange Liste, in der in einer Spalte Daten stehen, wo ab und zu vorangehende Nullen nötig sind (mal eine - mal 2...etc.) - und manchmal auch keine.
Wie kann ich diese Zellen formatieren, das die vorangehenden "Nullen" nicht automatisch weggelassen werden?

Links zu Excel-Dialogen

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige