Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
264to268
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
264to268
264to268
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Transformieren 50941 Zeilen

Transformieren 50941 Zeilen
06.06.2003 13:11:02
Bernhard Stillger

Sevus zusammen,

ich habe wieder einmal an transformieren Problem.

Ein Lotus Export File habe ich in Excel eingelesen. Nun habe ich immer eine schöne Struktur, aber in Blöcken untereinander. Immer gleich Struckturiert.

Wie kann ich das Transformieren, so ddaß immer ein Datensytz in einer Zeile steht. Mit transform geht es auf Grund der Menge nicht. Und einzeln ist ein wenig langwierig.

Die Struktur ist immer:
SA_Personen: Marita Goebert,Klaus Jungwirth,Anette
CompanyName: ABC GmbH & Co. KG
Niederlassung:
Department:
Strasse: Kurfürst--Ring
Location: Sailauf
Land: D
Location_anzeige:
KundenNr:
VB_Name: Rolf
SellingTeam:
Sa_Name: Rainer
Marktsegment: Zulieferer
Adressart: I
Referenz:
KeyAcc: G
KDat:
Mitarbeiter:
Werke:
Umsatz:
Ergebnis:
BesVerhältnisse:
HRG:
InvVolumen:
Umsatzjahr:
CDUmsatz:
Jahr1:
Autor: Rolf
CrDate: 05/26/98 10:38:16 PM
Author: CN=Rolf Sänger/OU=FRK/O=CDS/C=DE
SourceDB: Kundenakte Rolf - ()
DBRevision: CDVIS Release 1.6, 17.04.98
PLZStrasse: 63877
Postfach:
PLZPostfach:
PLZ: 63877
To: Kurfürst-Ring
Anschrift: ABC GmbH & Co. KG Kurfürst-Eppstein-Ring 63877 Sailauf D
OfficePhoneNumber: 06093-95559-0
OfficeFAXPhoneNumber: 06093-95559-550
SortField: ABC GmbH & Co. KG
Sonstige:
OriginalForm: Kundenstamm
WVAktion:
WVDatum:
$UpdatedBy: CN=Rolf Sänger/OU=FRK/O=CDS/C=DE
$Revisions: 05/26/98 10:41:26 PM,04/09/99 09:23:48 AM,04/09/99 09:24:31 AM,05/10/2001 04:41:18 PM,07/16/2002 12:42:53 PM,11/24/2002 01:55:35 PM


Es sind immer 4 Leerzeilen zwischen den einzelnen Blöcken.
Gibt es eine Lösung hierfür ?

Danke .

Bernhard Stillger

10
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Re: Transformieren 50941 Zeilen
06.06.2003 13:16:17
Knut

Zeichne dir einfach ein Makro auf, wie du einen Datensatz
transponierst. Das Ganze dann in eine Schleife einbinden.
Knut

Re: Transformieren 50941 Zeilen
06.06.2003 14:20:39
Bernhard Stillger


Hallo Knut,

und wie mache ich das, so eine Schleife die auch funktioniert ?
Schließlich muß ich ja immer einen Block tiefer gehen und dann am Ende auf dem Neuen Blatt transformieren.

Gibt es ein Beispiel hierfür ?

Danke
Bernhard.

Re: Transformieren 50941 Zeilen
06.06.2003 14:47:30
L.Vira

Wenn ich das richtig gesehen haben, sind es immer 48 Werte pro Datensatz und 4 Leerzeilen dann so:

Option Explicit
Sub Transponse()
Const SCHRITT As Long = 52
Dim lngLetzteZeile As Long
Dim lngNeueZeile As Long, lngZeile As Long, intColumnsCount As Integer
lngLetzteZeile = 65536
If [a65536] = "" Then lngLetzteZeile = [a65536].End(xlUp).Row
lngNeueZeile = 1
intColumnsCount = lngLetzteZeile / SCHRITT
If intColumnsCount > 256 Then
MsgBox "Die Daten erfordern " & intColumnsCount & " Spalten, es stehen jedoch nur 256 Spalten zur Verfügung! ", 64, "weise hin..."
Exit Sub
End If
Application.ScreenUpdating = False
For lngZeile = 1 To lngLetzteZeile Step SCHRITT
Range(Cells(lngZeile, 1), Cells(SCHRITT + lngZeile, 1)).Copy
Cells(lngNeueZeile, 2).PasteSpecial Paste:=xlAll, Transpose:=True
lngNeueZeile = lngNeueZeile + 1
Next
Columns(1).Delete
Application.ScreenUpdating = True
End Sub


Anzeige
Re: Transformieren 50941 Zeilen
06.06.2003 15:02:06
Harald Kapp

Hallo Bernhard,

guck mal:

Voraussetzung: Jeder Record hat 51 Zeilen (inkl. 4 Leerzeilen am Ende) und der erste Record beginnt in Zelle A1.

Gruß Harald


Re: Transformieren 50941 Zeilen
06.06.2003 15:03:51
Bernhard Stillger

Hallo Knut,

irgendwie bekomme ich es nicht hin. Hast Du vielleicht ein Beispiel
?


Gruß

Bernhard Stillger


Re: Transformieren 50941 Zeilen
06.06.2003 16:28:11
Bernhard Stillger

Hallo Knut,

danke für das Makro. Es läuft, aber auch ein wenig aus dem Ruder.
Bereits im Datensytz 4 stimmt es nicht mehr. Trotz gleicher Länge und Struktur. Es verrutscht.
Vielleicht kann man ja den String SA_Personen: als Identifier nehmen. Jeder Datenblock fängt damit an. Wenn man also diesen als Startpunkt nimmt und bis zum nächsten -1 Zeile geht, dann hat man immer einen Block, oder ? Geht das irgendwie?

Ich denke irgenwo ist warscheinlich ein Datensytz mit Mehr oder weniger Feldern, so daß dein
Anz_Records = Anz_Zeilen / Zeilen_pro_Record
durcheinander kommt, oder ?


Gruß

Bernahrd

Anzeige
Re: Transformieren 50941 Zeilen
06.06.2003 16:33:11
Bernhard Stillger

Hallo L.Vira,

leider bekomme ich immer nur die Fehlermeldung:
980 Spalten, es stehen jedoch nur 256 Spalten zur Verfügung!

Wie muß ich das Makro starten, wie muß das Startsheet und Zielsheet benannt sein ?

Gruß

Bernhard Stillger

Re: Transformieren 50941 Zeilen
06.06.2003 17:46:47
Bernhard Stillger

Halo Harald,

ich glaube ic habe den Übeltäter gefunden, es gibt Felder mit mehr als 255 Zeichen. Kann es daran liegen ?

Diese können gelöscht/ignoriert werden.Es sind immer die beiden letzten Felder die mit den Schlüsselwörtern:
__UpdatedBy: und __Revisions: beginnen. Diese Zeilen könne getrost gelöscht werden. Geht das irgenwie vorher oder beim Kopieren ?
Gruß

Bernhard

Anzeige
Re: Transformieren 50941 Zeilen
06.06.2003 18:07:09
L.Vira

Tschuldigung, hab dir einen falschen Code gepostet.


Re: Transformieren 50941 Zeilen
10.06.2003 10:31:19
Bernhard


Hallo L. Vira,

könntest Du mir den "richtigen" Code posten / senden.

Danke

Bernhard

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige