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

Daten per Makro umbauen

Daten per Makro umbauen
11.06.2014 00:27:02
Danny
Hallo zusammen,
normalerweise kann ich den Anwendern bei Excel-Problemen unter die Arme greifen, aber jetzt stehe ich selber vor einem Problem, das ich nicht gelöst bekomme. Für eure Unterstützung bedanke ich mich bereits im Vorraus!
Ausgangslage je Zeile
Basisdaten in den Spalten A-F (hier Buchstaben A-F und in Zeile 2 H-M). Anzahl der folgenden Datensätze in Spalte G (hier 5 und in der 2. Seile 8). Unterschiedliche Datensätze ab Spalte H (1-5 und 20-27). Im Orginaldokument folgen hier bis zu 200 Datensätze).
A B C D E F G H I J K L M N O
A B C D E F 5 1 2 3 4 5
H I J K L M 8 20 21 22 23 24 25 26 27
Am Ende soll alles als je ein Datensatz pro Ziele (und damit auswertbar) sein:
Basisdaten in den Spalten A-F, G kann bleiben und in Spalte H nur EIN Datensatz.
Nächste Zeile wieder Spalten A-F, dann G mit der Anzahl und H der zweite Datensatz.
u.s.w bis die erreichnete Anzahl (Spalte G) erreicht ist. Dann folgt die nächste Zeile...
Soll dann so aussehen:
A B C D E F 5 1
A B C D E F 5 2
A B C D E F 5 3
A B C D E F 5 4
A B C D E F 5 5
H I J K L M 8 20
H I J K L M 8 21
H I J K L M 8 22
H I J K L M 8 23
H I J K L M 8 24
H I J K L M 8 25
H I J K L M 8 26
H I J K L M 8 27
Ich hoffe es ist klar geworden.
Manuell sieht das Prozedere (aus dem Beispiel)so aus:
1. Kopiere A1-G1
2. Füge darunter X (Anzahl aus Spalte G1) leere Zeilen ein
3. Füge A1-G1 in die eingefügten Zeilen (2-5) ein.
4. Kopiere H1-X (H1 + Anzahl aus G); in diesem Fall H1-L1
5. Füge H1-L1 in Spalte H (H1-H5) transponiert ein.
Danach
1. Kopiere A6-G6
2. Füge darunter X (Anzahl aus Spalte G1) leere Zeilen ein
3. Füge A1-G1 in die eingefügten Zeilen (2-5) ein.
4. Kopiere H1-X (H1 + Anzahl aus G)
5. Füge H1-X in Spalte H transponiert ein.
und so weiter...
Da es weit über tausend Datensätze sind, ist eine "von Hand" Geschichte fast unmöglich...
VIELEN DANK (sofern das überhaupt machbar ist...)

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Daten per Makro umbauen
11.06.2014 00:40:35
Danny
So soll es aussehen

 ABCDEFGHIJKLMNO
1ABCDEF512345   
2HIJKLM82021222324252627
3               
4               
5ABCDEF51       
6ABCDEF52       
7ABCDEF53       
8ABCDEF54       
9ABCDEF55       
10HIJKLM820       
11HIJKLM821       
12HIJKLM822       
13HIJKLM823       
14HIJKLM824       
15HIJKLM825       
16HIJKLM826       
17HIJKLM827       


Excel Tabellen im Web darstellen >> Excel Jeanie HTML 4.8

Anzeige
AW: Daten per Makro umbauen
11.06.2014 09:44:08
UweD
Hallo
so?
Option Explicit Sub ABC() On Error GoTo Fehler Dim TB, i%, k% Dim SP%, ZE&, LR&, LC% Dim stCalc% '*** bescheunigt das Makro With Application .ScreenUpdating = False stCalc = .Calculation .Calculation = xlCalculationManual End With '*** Stammdaten Anfang Set TB = Sheets("Tabelle1") SP = 1 'Spalte A ZE = 1 'ab Zeile '*** Stammdaten Ende With TB LR = TB.Cells(Rows.Count, SP).End(xlUp).Row 'letzte Zeile der Spalte k = 1 For i = ZE To LR LC = TB.Cells(k, 7) 'Anzahl neue Zeilen .Rows(k + 1 & ":" & k + LC).Insert Shift:=xlDown .Range("A" & k & ":G" & k).Copy Range("A" & k + 1 & ":A" & k + LC) .Range(Cells(k, 8), Cells(k, 7 + LC)).Copy .Range("H" & k + 1).PasteSpecial SkipBlanks:=False, Transpose:=True Application.CutCopyMode = False k = k + LC + 1 Next End With '*** Fehlerbehandlung Err.Clear Fehler: If Err.Number 0 Then MsgBox "Fehler: " & Err.Number & vbLf & Err.Description: Err. _ Clear '*** Rücksetzen With Application .ScreenUpdating = True If .Calculation stCalc Then .Calculation = stCalc End With End Sub
Gruß UweD

Anzeige
AW: Daten per Makro umbauen
11.06.2014 11:39:10
Danny
Vielen Dank schon mal für deine Mühe.
Die Prozedur steigt mit einem Fehler (Fehler: 13, Typen unverträglich) in folgender Zeile aus:
LC = TB.Cells(k, 7) 'Anzahl neue Zeilen
Gruß

AW: Daten per Makro umbauen
11.06.2014 12:38:04
UweD
Hallo
dann dimensioniere i und k mal als long
Dim TB, i&, k&

Gruß UweD

AW: Daten per Makro umbauen
11.06.2014 20:38:51
Danny
Hat funktioniert!!! PERFEKT... VIELEN DANK!!!
Hat ein sheet mit 38-tausend Zeilen ergeben!

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige