Makro Spalten in Zeilen
01.12.2003 14:45:54
Stefan Walsberg
ich schlage mich mal wieder rum ... Level: Excel gut, VBA schon ein bißchen besser als MAcrorecorder aber nicht wirklich gut, wie Ihr unten seht ...
Ich habe eine dreispaltige Tabelle, in A stehen Nummern (mehrfach die gleichen) in B HD (jeweils einmal) oder ND (auch mehrfach) und in C Text. Ziel ist es, daß vorne in A die Nummer nur einmal steht und daneben erst Hd mit dem passenden Text, dann alle Nds von Nd1 bis NDx.
Das Makro läuft prima und sieht so aus:
Option Explicit
Sub ZeilenInSpalten()
Dim iZeile As Long, LetzteZeile As Long, LetzteSpalte As Byte
Dim WS1 As Worksheet, WS2 As Worksheet
Set WS1 = Worksheets("Tabelle1")
Set WS2 = Sheets.Add
WS2.Range("A1") = "PatNr"
WS2.Range("B1") = "HD"
For iZeile = 2 To WS1.Range("A65536").End(xlUp).Row
If WS1.Cells(iZeile, 1) = WS1.Cells(iZeile - 1, 1) Then
LetzteZeile = WS2.Range("A65536").End(xlUp).Row
LetzteSpalte = WS2.Range("IV" & LetzteZeile).End(xlToLeft).Column + 1
If Cells(1, LetzteSpalte) = "" Then Cells(1, LetzteSpalte) = "ND" & LetzteSpalte - 2
WS2.Cells(LetzteZeile, LetzteSpalte) = WS1.Cells(iZeile, 3)
Else
LetzteZeile = WS2.Range("A65536").End(xlUp).Row + 1
WS2.Cells(LetzteZeile, 1) = WS1.Cells(iZeile, 1)
WS2.Cells(LetzteZeile, 2) = WS1.Cells(iZeile, 3)
End If
Next iZeile
End Sub
Jetzt meine Probleme:
Wie kann ich das Makro ändern, wenn ich nicht HD/diverse ND habe, sondern nur ND und er soll dann in der neuen Tabelle mit ND1 anfangen??? Das sollte doch leicht sein, aber ich pack's nicht!
Problem 2:
Ich dachte noch leichter, aber ich stehe wohl heute echt auf der Leitung:
Ich habe eine zweispaltige Tabelle
in A wie gehabt die Nummern (die wieder mehrfach auftauchen), daneben Text. Wie kann ich den Text in Zeilen schreiben, wieder in einem neuen Blatt, wieder mit Spaltenüberschrift OPS1, dann OPS2 usw.
Ach ja, noch eins, die Anzahl der Vorkommen ein und der selben Nummer ist unterschiedlich!
Ich hoffe, ich habe mich verständlich gemacht, das ist ja manchmal schon die größte Hürde.
Und ich hoffe, Ihr könnt mir helfen!!!
Vielen Dank im Voraus
Euer verzweifelter Stefan W.