Zellbereiche mit Schleifen durchlaufen, Excel 2003

27/10/2007 - 20:29 von Andreas Volkert | Report spam
Hallo liebe Newsgroup-Freunde,

darf ich Euch mal wieder um Euere geschàtzte Hilfe bitten bei einem Problem,
bei dem ich einfach alleine nicht weiterkomme:

Ich erhalte aus einer Datev-Auswertung Tabellenblàtter, deren Bereiche sich
untereinander mehrfach wiederholen, weil die Spaltenanzahl die maximale
Spaltenanzahl in Excel übersteigt.

Die Tabelle sieht etwa so aus:

Zeile Bezeichnung Artikel1 Artikel2 ...(bis zur Spalte
IV jeweils jede zweite Spalte)
1234567 7654321 .
110 A 10 22 .
120 B 7 48 .
130 C. 99 57 .
140 D 66 93 .
...
...
220 Gesamt 182 220

Zeile Bezeichnung Artikel130 Artikel131 ...(bis zur
Spalte IV jeweils jede zweite Spalte)
2315687 9143282 .
110 A 80 29 .
120 B 17 52 .
130 C. 89 47 .
140 D 26 77 .
...
...
220 Gesamt 212 205
usw. usw.


Da ich die Tabelle in einer Datenbank weiterverarbeiten muss, brauche ich
eine Darstellung in Listenform. Also so:

Artikel ArtikelNr A B C D
Artikel1 1234567 10 7 99 66
Artikel2 7654321 22 48 57 64
...
Artikel130 2315687 80 17 89 26
Artikel131 9143282 29 52 47 77

Ich möchte zunàchst die Daten der Quelltabelle in eine zweite Tabelle
kopieren (Chefübersicht -> Liste).

Mit einem reinen Transponieren hat das leider nichts zu tun, da sich die
Bereiche mehrfach untereinander wiederholen und auch die Tabellenstruktur
wegen zusàtzlicher Leerspalten nicht direkt verwendbar ist.
Über die Texte in der ersten Spalte könnte ich durchaus Bezug auf die
jeweiligen Texte ("Zeile") bzw. für das Abgreifen der Werte auf die
jeweiligen Zeilennummern nehmen.

Leider bin ich mit der Programmieren von Schleifen nun überhaupt nicht
bewandert und habe jetzt (testweise mit fixen Werten für die maximale
Spalten- bzw. Zeilenzahl) folgenden Code ausprobiert.

Dim wb As Workbook
Dim wksQuelle, wksZiel As Worksheet
Dim rngArea As Range
Dim rngCell As Range
Dim col As New Collection
Dim intColSource As Integer
Dim intRowSource As Integer
Dim intColTarget As Integer
Dim intRowTarget As Integer

Set wb = ActiveWorkbook
Set wksQuelle = wb.Worksheets("Chefübersicht")
Set wksZiel = wb.Worksheets("Liste")
Set myRange = Worksheets("Chefübersicht").Range("A1:a65536")

intColTarget = 1
intRowTarget = 1
For intRowSource = 1 To 65536


If wksQuelle.Cells(intRowSource, 1).Value = "Zeile" Then
For intRowTarget = 1 To 255
For intColSource = 3 To 30 Step 2
wksZiel.Cells(intRowTarget, 1).Value = wksQuelle.Cells(intRowSource + 1,
intColSource).Value
Next intColSource
Next intRowTarget
End If
intColSource = intColSource + 2
Next intRowSource




Irgendwie laufen die Schleifen aber nicht richtig und ich bekomme entweder
keine Werte oder überall die gleichen Werte in der Zieltabelle.

Wer kann mir hier bitte unterstützend zur Seite stehen und mir sagen, wie
ich es richtig machen muss?

Schon mal ganz herzlichen Dank für Euere Unterstützung.

Viele Grüße

Andi Volkert
 

Lesen sie die antworten

#1 Marion Löwe
28/10/2007 - 02:33 | Warnen spam
Hallo Andreas,

ist schon lange her, dass ich mit DATEV gearbeitet habe. Mein Uralt-Timer
hat folgendes anzubieten:

DATEV eG
Norbert Huber
Produktmarketing und Service Rechnungswesen | BS131
90329 Nürnberg
Telefon +49(911)319-4719 | Telefax +49(911)319-2020
E-Mail | www.datev.de
Virnsberger Str. 63 | Nürnberg

Alle diese Programme haben eine Gemeinsamkeit. Die Daten sind in einer DB in
Tabellen gespeichert. Also als Datei nicht auf der Platte zu erkennen.

Ich kann mich erinnern, dass ich aus DATEV riesige wunderschöne Listen
runterladen konnte - ohne Leerspalten und ohne die sich stàndig
wiederholenden Überschriften. (Das und auch die Datei , die du beschrieben
hast, stammt meist aus dem Spool). Ein Riesenumweg, den man nicht gehen muß.
Die Zeit kannste sparen.

Es gibt ein Export-Tool mit Namen KRExport, erinnnere mich schwach, das
meiner Meinung nach bei jeder Version dabei ist. Und es gibt, die Möglichkeit
des direkten ASCII-Exports. (Meine Standardvariante). Informationen findest
du dazu in der DATEV-Hilfe. Schau mal unter dem Stichwort:ASCII-Daten nach.

Du köntest auch einen erfahrenen Kollegen oder eine NG direkt bei DATEV
(wird von Datev moderiert) fragen. Wenn das alles nicht möglich ist, dann
gibt es noch den Support (siehe Adresse weiter oben), einfach mal anrufen und
fragen. Die sind sehr hilfsbereit.

Der Rest ist dann sehr viel einfacher, dann fragste hier halt nochmal, wenn
nötig.

Gruß
Marion

Ähnliche fragen