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

Zeilen ins spalten mit VBA

Zeilen ins spalten mit VBA
29.06.2015 21:32:52
Kisselstein
Hallo Zusammen und Guten Abend,
Ich versuch grad etwas VBA anzuwenden, aber leider scheitere ich, vielleicht habt ihr einen kleinen Tipp für mich:
Ich habe eine Tabelle in Zeilen
.............Spalte1.Sp2,SP3,SP4,SP5, SP6, SP7
Zeile 1:.....Namen1,..A,..B,..C,..D,...E,...F
Zeile 2:.....Namen2,..A,..B,. C,..D,...E,...F
Ich würde es aber gerne umbauen in
Name1 A, B
Name1 C, D
Name1 E, F
Name 2 A, B
Etc.
Ich schaffe leider mit meinem Code nur bis A,B

Sub test()
Dim myLastRow As Long
Dim myFirstFreeRow As Long
Dim myRow As Long
Dim myMaximum As Long
Dim myCount As Long
With Sheets("Table")
' letzte gefüllte Zeile in Table Spalte I ermitteln
myLastRow = .Cells(Rows.Count, 9).End(xlUp).Row
' Schleife für alle Einträge in Table Spalte I
For myRow = 16 To myLastRow
' Anzahl Durchläufe
myMaximum = 2
' Schleife für die Anzahl
For myCount = 1 To myMaximum
' erst noch die erste freie Zeile in Tabelle1 Spalte B ermitteln
With Sheets("Tabelle1")
myFirstFreeRow = .Cells(Rows.Count, 2).End(xlUp).Row + 1
End With
For i = 1 To 2
' Wert von Table Spalte E nach Tabelle2 Spalte E übertragen
Sheets("Tabelle1").Cells(myFirstFreeRow, 2).Value = .Cells(myRow, 9).   _
_
_
_
_
Value
Sheets("Tabelle1").Cells(myFirstFreeRow, 2 + i).Value = .Cells(myRow,   _
_
_
_
_
9 + i).Value
Next i
Next myCount
Next myRow
End With
End Sub

Güsse Kisselstein

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Zeilen ins spalten mit VBA
29.06.2015 23:49:10
Kisselstein

AW: Zeilen ins spalten mit VBA
30.06.2015 08:04:50
MCO
Guten Morgen!
Hiermit sollte es klappen:
Sub test()
Dim myLastRow As Long
Dim myFirstFreeRow As Long
Dim myRow As Range
Dim sh_tab As Worksheet
Set sh_tab = Sheets("Tabelle1")
With Sheets("Table")
'letzte gefüllte Zeile in Table Spalte I ermitteln
myLastRow = .Cells(Rows.Count, 9).End(xlUp).Row
' Schleife für alle zusammenhängenden Einträge in Table Spalte I
For Each myRow In .Range("I16").CurrentRegion.Rows
'erst noch die erste freie Zeile in Tabelle1 Spalte B ermitteln
myFirstFreeRow = sh_tab.Cells(Rows.Count, 2).End(xlUp).Row + 1
'Namen eintragen
.Range("I" & myRow.Row).Copy sh_tab.Range(sh_tab.Cells(myFirstFreeRow, 1), sh_tab.Cells( _
myFirstFreeRow + 2, 1))
'3x 2 Spalten kopieren
.Range("J" & myRow.Row & ":K" & myRow.Row).Copy sh_tab.Cells(myFirstFreeRow, 2)
.Range("L" & myRow.Row & ":M" & myRow.Row).Copy sh_tab.Cells(myFirstFreeRow + 1, 2)
.Range("N" & myRow.Row & ":O" & myRow.Row).Copy sh_tab.Cells(myFirstFreeRow + 2, 2)
Next
End With
End Sub

Gruß, MCO

Anzeige
AW: Zeilen ins spalten mit VBA
30.06.2015 12:03:47
Kisselstein
Hallo MCO,
vielen Dank, das klappt schon ganz gut :-)
Eine Frage noch jetzt wird auch die Spalten Über der I16 kopiert, also übertragen in Tabelle 1 wie kann ich das ausschließen. also nur Werte ab der I16 und darunter.
Gruß Kisselstein

Zeilen begrenzen / Auswählen
30.06.2015 14:33:48
MCO
Hi!
Das machst du mit der Zeile
.Range("I16").CurrentRegion.rows 

Die nimmt alle Zeilen die mit "i16" zusammenhängen. Wenn du lieber einen speziellen Bereich _ nehmen möchtest, ändere es in z.B.

.Range("I16:I55").rows
Gruß, MCO

Anzeige
AW: Zeilen begrenzen / Auswählen
02.07.2015 16:34:27
Kisselstein
Hi MCO,
sorry für die späte Antwort, bin erst gerade wieder dazugekommen:
Also das klappt Danke!
Mir ist noch eins aufgefallen: beim ersten Durchlauf werden die drei Namen richtig kopiert. Beim zweiten Durchlauf wird der letzte Name und die Werte also die dritte spalte mit dem nächsten Namen etc. überschrieben.
Gruß und eine Kühlen Abend Kisselstein

320 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige