Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1020to1024
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
"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

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige