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

Von vertikal in horizontaler Ausgabe

Von vertikal in horizontaler Ausgabe
30.09.2021 13:32:37
egbert
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 mi Hilfe eine Makros in eine andere Tabelle transferiert.
Die Daten werden in der Tabelle 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.
Die Zeile lautet:
With .Cells(.Rows.Count, 2).End(xlUp)
.Offset(1, 0).Resize(rngReklam.Columns.Count, rngReklam.Rows.Count).Value = Application.Transpose(rngReklam.Value)
End With
Habe schon etwas herumprobiert, indem ich z.B. nach .Value einfach gelöscht habe. Aber ich bekomme dann immer nur Fehler ausgeworfen.
Wie ändere ich die Zeile, damit die angesprochenen Werte waagerecht in die Zeile kopiert werden?

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Von vertikal in horizontaler Ausgabe
30.09.2021 14:34:53
Piet
Hallo
wenn ich mir den Code genau anschaue kann der sicher so nicht klappen. Du legst als Zieladresse einen Bereich fest und füllst ihn aus einer einzigen Zelle!! Ist das OK?
Mache es lieber so, den genauen Quell Bereich musst du bitte selbst festlegen.
Quellbereich.Copy
Zieladresse.PasteSpecial xlPasteValues, Transpose:=True
Application.CutCopyMode = False
mfg Piet
AW: Von vertikal in horizontaler Ausgabe
30.09.2021 15:05:26
egbert
Es hat bisher geklappt. HIer mal 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, 18).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, 21).End(xlUp)
.Offset(1, 0).Resize(rngArtikel.Columns.Count, rngArtikel.Rows.Count).Value = Application.Transpose(rngArtikel.Value)
End With
End With
End Sub
Das Makro soll die Daten wie folgt kopieren:
"Eingaben" C5 bis C12 in "Liste" B bis G,
D5 bis D9 in H bis P
C14 bis L14 in Q bis Z
Vorher waren die Daten C14-L14 in den Zellen E5 bis E15. Damit hat das prima funktioniert.
Jetzt ist die Eingabeseite anders formatiert, also die Daten "Artikel" sind jetzt waagerecht, statt wie vorher senkrecht, weil ich
eine Artikelliste hinzugefügt habe, so dass man jetzt nur noch die Artikelnummer eingeben muss und die restlichen Felder automatisch gefüllt werden.
Mit "Application.Transpose" habe ich bewirkt, dass die Vertikalen Werte in der Liste waagerecht ausgegeben werden.
Ich dachte, ich nehmen einfach den Eintrag hinter .value weg und dann würden die Zellen nicht mehr getauscht werden.
Aber das funktioniert leider nicht.
Anzeige
AW: Von vertikal in horizontaler Ausgabe
01.10.2021 15:22:41
Piet
Hallo
ich hatte schon einmal den Vorschlag gemacht das Makro auf PasteSpecial zu ändern. Damit funktioniert es einwandfrei!!
Ein Fehler war in der 2. With Anweisung das du LastCell in Spalte 18 statt 8 für "H" gesucht hast. Entsprechen wurde falsch kopiert!! Und die Daten in Spalte R-U kopiert, wobei die Daten von C14 überrschrieben wurden. Das Makro wurde in meiner Testdatei getest.
Ich hoffe das damit der Crossposting Streit in drei Foren beendet ist, äussere mich nicht dazu. Das hat offenbar schon jemand gemacht.
mfg Piet

  • 
    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")       'nach B-G
    Set rngReklam = Worksheets("Eingaben").Range("D5:D9")       'nach H-P
    Set rngArtikel = Worksheets("Eingaben").Range("C14:L14")    'nach Q-Z
    With Worksheets("Liste")
    With .Cells(.Rows.Count, 2).End(xlUp)
    rngKunde.Copy
    .Offset(1, 0).PasteSpecial xlPasteValues, Transpose:=True
    End With
    End With
    With Worksheets("Liste")
    With .Cells(.Rows.Count, 8).End(xlUp)
    rngReklam.Copy
    .Offset(1, 0).PasteSpecial xlPasteValues, Transpose:=True
    End With
    End With
    With Worksheets("Liste")
    With .Cells(.Rows.Count, 21).End(xlUp)
    rngArtikel.Copy
    .Offset(1, 0).PasteSpecial xlPasteValues, Transpose:=True
    End With
    End With
    'Copy Mode auschalten
    Application.CutCopyMode = False
    End Sub
    

  • Anzeige
    AW: Hurtingroute
    01.10.2021 16:37:02
    GerdL
    Moin,
    es wurde doch nur der dritten Eingabebereich gedreht; so dass nur dort das Transponieren stört.
    
    Worksheets("Liste").Cells(Worksheets("Liste").Rows.Count, 21).End(xlUp).Offset(1, 0). _
    Resize(rngArtikel.Rows.Count, rngArtikel.Columns.Count).Value = rngArtikel.Value
    
    Postings in mindestens drei verschiedenen Foren! Das muss ein wirklich sehr drängendes Problem sein. :-)
    Gruß Gerd
    AW: Hurtingroute
    01.10.2021 20:13:00
    Piet
    Hallo
    in meiner 1. Makro Version ist leider noch ein Fehler, der mir noch aufgefallen ist. Schau aber bitte mal auf deine Angaben oben im Text, und was du als Range in den Set Anweisungen selbst festgelegt hast. Da gibt es eindeutig Unstimmigkeiten!!
    Die LastZell zum kopieren wurde zweimal falsch festgelegt. Einmal mit 18 statt 8, und mit 21 statt 17. Die Verbesserungen der Kollegen kopieren somit auch in die falsche Spalte. Denen ist das nicht aufgefallen, weil keiner die Datei nachgebaut hat!! Und ich habe übersehen das die Werte in C14:L14 NICHT Transponiert werden müssen!
    Mit dieser verbesserten Version bekomme ich eine durchgehen Zeile von B-Z mit Daten. Ist das jetzt so okay?.
    Dann wäre der Thread erfolgreich in allen Foren beendet. Würde mich freuen. Viel Spass beim testen der neuen Version.
    mfg Piet
  • 
    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")       'nach B-G   ** oben steht 12!!
    Set rngReklam = Worksheets("Eingaben").Range("D5:D13")      'nach H-P   ** war vorher 9
    Set rngArtikel = Worksheets("Eingaben").Range("C14:L14")    'nach Q-Z
    With Worksheets("Liste")
    With .Cells(.Rows.Count, 2).End(xlUp)
    rngKunde.Copy
    .Offset(1, 0).PasteSpecial xlPasteValues, Transpose:=True
    End With
    End With
    With Worksheets("Liste")
    With .Cells(.Rows.Count, 8).End(xlUp)   'war vorher 18
    rngReklam.Copy
    .Offset(1, 0).PasteSpecial xlPasteValues, Transpose:=True
    End With
    End With
    With Worksheets("Liste")
    With .Cells(.Rows.Count, 17).End(xlUp)  'war vorher 21
    rngArtikel.Copy
    .Offset(1, 0).PasteSpecial xlPasteValues, Transpose:=False
    End With
    End With
    'Copy Mode auschalten
    Application.CutCopyMode = False
    End Sub
    

  • Anzeige
    AW: Hurtingroute
    04.10.2021 07:25:25
    egbert
    Ich setze mich da heute Nachmittag dran und schaue ob es so passt. Danke schon mal für die Mühe.
    Zum "Crossposting": Das ist das erste mal das ich sowas erlebe. Ich poste eigentlich immer in mehreren Foren wenn ich ein Problem habe, um mehr Leute zu erreichen. Habe vorher oft nur in einem Gepostet und dann kommt keine Antwort, man geht ins nächste, keine Antwort... us.w. und dann irgendwann im 10. Forum weiß jemand eine Lösung. Ist schließlich nicht jeder in jedem Forum unterwegs. Gab nie Diskussionen oder "Sheriffs" die sich da derart echauffiert haben. Daher verwundert mich das grad ein wenig was ich das ausgelöst habe :D Sehe da kein Problem.
    Anzeige
    AW: Hurtingroute
    04.10.2021 13:53:23
    egbert
    Das hat geholfen. Funktioniert jetzt mit dem Kopieren.

    238 Forumthreads zu ähnlichen Themen

    Anzeige
    Anzeige
    Anzeige

    Beliebteste Forumthreads (12 Monate)

    Anzeige

    Beliebteste Forumthreads (12 Monate)

    Anzeige
    Anzeige
    Anzeige