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

Tabelle per Script umsortieren

Tabelle per Script umsortieren
Glenn
Hallo!
Ich habe hier ein kleines Problem.
Ich administratiere ein paar Online Shops und muss dazu eine Liste mit Atributen pflegen.
Soweit so gut.
Der Shop ist ein commerce:SEO mit JTL-WAWI gepflegt
JTL kann Atribute nur aus Spalten importieren.
Attributname;Attributtyp;Attributwert
Meine Atributsliste muss ich aber der übersicht halber in Excel so führen.
VFY:P2560PF095DE Modell P2560 Edition Typ Microtower Status V4Y
VFY:P2560PF101DE Modell P2560 Edition Typ Microtower Status V4Y
VFY:P2560PF061DE Modell P2560 Edition Typ Microtower Status V4Y
VFY:P0400PXE11DE Modell P400 Edition Typ Microtower Status NEW
VFY:P0400PXE21DE Modell P400 Edition Typ Microtower Status NEW
VFY:P0400PXE31DE Modell P400 Edition Typ Microtower Status NEW
usw... noch ca. 30-40 weitere Atribute
Ich habe mir überlegt ob es nicht möglich wäre die Spalten per script in ein anderes Arbeitsblatt untereinander zu kopieren. So könnte ich sie dann in einem Rutsch in JTL importieren.
also so:
VFY:P2560PF095DE Modell P2560 Edition
VFY:P2560PF101DE Modell P2560 Edition
VFY:P2560PF061DE Modell P2560 Edition
VFY:P0400PXE11DE Modell P400 Edition
VFY:P0400PXE21DE Modell P400 Edition
VFY:P0400PXE31DE Modell P400 Edition
VFY:P2560PF095DE Typ Microtower
VFY:P2560PF101DE Typ Microtower
VFY:P2560PF061DE Typ Microtower
VFY:P0400PXE11DE Typ Microtower
VFY:P0400PXE21DE Typ Microtower
VFY:P0400PXE31DE Typ Microtower
VFY:P2560PF095DE Status V4Y
VFY:P2560PF101DE Status V4Y
VFY:P2560PF061DE Status V4Y
VFY:P0400PXE11DE Status NEW
VFY:P0400PXE21DE Status NEW
VFY:P0400PXE31DE Status NEW
usw...
mit dem Macrorecorder komme ich hier nicht weit, und es muss auch nicht alles von vorne bis hinten automatisiert sein. Aber vielleicht hat ja jemand eine Idee dass ich nicht mehr alle Spalten von Hand untereinanderkopieren muss %-O

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

Betreff
Benutzer
Anzeige
AW: Tabelle per Script umsortieren
31.05.2011 18:08:11
Reinhard
Hallo glenn,
vielleicht beschleunigt es das Ganze, du erstellst eine Beispielmappe mit k.A. 10-20 Beispielzeilen in Tab1, in Tab2 trägst du dann manuell ein wie das gewünschte Ergebnis aussehen soll und lädst die mappe hier hoch.
Gruß
Reinhard
AW: Tabelle per Script umsortieren
31.05.2011 18:09:32
Christian
Hallo Glenn,
ungetestet - die Einträge stehen in Tabellle1 in Spalte A bis D ab Zeile 1.
Ergebnis in Tabelle 2.
Sub TestIt() Dim lngLR&, i&, j&, k& Dim vntRes() With Sheets("Tabelle1") lngLR = .Cells(.Rows.Count, 1).End(xlUp).Row ReDim vntRes(lngLR * 3 - 1, 1) For i = 1 To lngLR For j = 2 To 4 vntRes(k, 0) = .Cells(i, 1) vntRes(k, 1) = .Cells(i, j) k = k + 1 Next Next End With With Sheets("Tabelle2") .Cells(1, 1).Resize(UBound(vntRes, 1) + 1, 2) = vntRes End With End Sub Gruß
Christian
Anzeige
AW: Tabelle per Script umsortieren
31.05.2011 19:15:11
fcs
Hallo Glenn,
wenn deine Attribute-Datei wie folgt aussieht, dann kannst die mit dem Makro die Daten kopieren. Mit dem 2. Makro kannst die Daten des Exportblattes in eine Textdatei übertragen.
Tabelle1

 ABCDEFG
1VFY:P2560PF095DEModellP2560 EditionTypMicrotowerStatusV4Y
2VFY:P2560PF101DEModellP2560 EditionTypMicrotowerStatusV4Y
3VFY:P2560PF061DEModellP2560 EditionTypMicrotowerStatusV4Y
4VFY:P0400PXE11DEModellP400 EditionTypMicrotowerStatusNEW
5VFY:P0400PXE21DEModellP400 EditionTypMicrotowerStatusNEW
6VFY:P0400PXE31DEModellP400 EditionTypMicrotowerStatusNEW


Excel Tabellen im Web darstellen >> Excel Jeanie HTML 4
Gruß
Franz
Sub Export_JTL()
Dim wksAttribute As Worksheet, wksExport As Worksheet
Dim AnzZeilen As Long, ZeileExport As Long, Spalte As Long
Const Zeile1 As Long = 4 '1, Zeile mit Daten, die kopiert werden soll- ggf. anpassen
Set wksExport = Worksheets("Export") 'Name ggf. anpassen
Set wksAttribute = Worksheets("Tabelle1") 'Name ggf. anpassen
With wksExport
'Altdaten löschen
.UsedRange.ClearContents
ZeileExport = 1 'Startzeile zun Einfügen im Exportblatt
With wksAttribute
'Spaltenblöcke aus Attribute in Export-Blatt untereinander kopieren
AnzZeilen = .Cells(.Rows.Count, 1).End(xlUp).Row
For Spalte = 2 To .Cells(Zeile1, .Columns.Count).End(xlToLeft).Column Step 2
.Range(.Cells(Zeile1, 1), .Cells(AnzZeilen, 1)).Copy _
Destination:=wksExport.Cells(ZeileExport, 1)
.Range(.Cells(Zeile1, Spalte), .Cells(AnzZeilen, Spalte + 1)).Copy _
Destination:=wksExport.Cells(ZeileExport, 2)
ZeileExport = ZeileExport + (AnzZeilen - Zeile1 + 1)
Next
End With
.Columns.AutoFit
End With
End Sub
Sub Export_JTL_Text()
'Daten im Exportblatt als TXT-File speichern mit ";" als Trennzeichen
Dim wksExport As Worksheet
Dim Dateiname As String, FF As Integer, sSep As String
Dim Zeile As Long
sSep = ";" 'Spaltentrennzeichen
Set wksExport = Worksheets("Export") 'Name ggf. anpassen
Dateiname = ActiveWorkbook.Path & Application.PathSeparator _
& "Export_JTL_" & Format(Date, "YYYY-MM-DD") & ".txt" 'ggf, anpassen
FF = FreeFile()
'Daten im Exportblatt zeilenweise in Text-Datei ausgeben
Open Dateiname For Output As #FF
With wksExport
For Zeile = 1 To .Cells(.Rows.Count, 1).End(xlUp).Row
Print #FF, .Cells(Zeile, 1).Text & sSep & .Cells(Zeile, 2).Text & sSep & .Cells(Zeile, 3). _
Text
Next
End With
Close #FF
End Sub

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige