Excel VBA - Darstellung waagerecht-vertikal beim kopieren ändern?
Hallo,
ich habe in einer fertigen Tabelle etwas geändert, um die Eingabe der Daten zu erleichtern. Statt die Daten in der Spalte zu erfassen, werden die Daten jetzt in einer Zeile eingegeben.
Also statt vorher in B10, B11, B12... jetzt in B10, C10, D10...
Die Daten werden mit Hilfe eine Makros in eine andere Tabelle transferiert und waagerecht eingefügt.
Da ich aber die Eingabeart verändert habe, werden die Daten jetzt untereinander in die Tabelle eingefügt.
Ich weiß, dass das mit "Application.Transpose" zu tun hat.
Nun weiss ich aber nicht wie ich die Zeile umbenennen muss, damit die waagerechte Darstellung übernommen wird.
Wie ändere ich die Zeile, damit die angesprochenen Werte waagerecht in die Zeile kopiert werden?
Hier der komplette Code:
Sub transfer_werte()
Dim rngKunde As Excel.Range
Dim rngReklam As Excel.Range
Dim rngArtikel As Excel.Range
Set rngKunde = Worksheets("Eingaben").Range("C5:C10")
Set rngReklam = Worksheets("Eingaben").Range("D5:D9")
Set rngArtikel = Worksheets("Eingaben").Range("C14:L14")
With Worksheets("Liste")
With .Cells(.Rows.Count, 2).End(xlUp)
.Offset(1, 0).Resize(rngKunde.Columns.Count, rngKunde.Rows.Count).Value = Application.Transpose(rngKunde.Value)
End With
End With
With Worksheets("Liste")
With .Cells(.Rows.Count, 8).End(xlUp)
.Offset(1, 0).Resize(rngReklam.Columns.Count, rngReklam.Rows.Count).Value = Application.Transpose(rngReklam.Value)
End With
End With
With Worksheets("Liste")
With .Cells(.Rows.Count, 14).End(xlUp)
.Offset(1, 0).Resize(rngArtikel.Columns.Count, rngArtikel.Rows.Count).Value = Application.Transpose(rngArtikel.Value)
End With
End With
End Sub
1 Antwort
Wenn das nur eine einmalige Sache ist, kannst du es mit Kopieren/Einfügen so machen:
Wenn es immer wieder kehrt, würde ich es in eine Schleife hängen, die Zellbereiche musst du natürlich sinngemäß anpassen:
Hier der Code zum Kopieren:
Sub umkippen()
For Z = 10 To 16
Cells(7, Z - 6) = Cells(Z, 2)
Next Z
End Sub


Das funktioniert nicht.
Denn in der Eingabemaske werden täglich mehrere Daten erfasst, die dann in die Liste übertragen werden. Anschließend sind noch weitere Aktionen zu machen, mit denen mehrere Formulare und Label erstellt werden können. Das funktioniert auch alles. Daher sollte am Code soweit nichts geändert werden, ausser dass der genannte Bereich im Eingabebereich jetzt waagerecht ist und nicht senkrecht.
Ich benötige eine Lösung dafür, dass beim Kopieren die Daten auch waagerecht eingefügt werden.
"Application.Transpose" ändert von waagerecht auf senkrecht. Der Befehl muss das raus. Egal an welcher Stelle ich aber diese CodeZeile ändere, bekomme ich die Meldung das etwas unvollständig ist und ein Befehl erwartet wird.