Excel VBA - Nach kopieren anderen Zelleninhalt "zurückwerfen"?

Hallo,

ich habe eine Formularseite gebastelt, bei der eingegebene Daten in eine Liste eingefügt werden. Nun möchte ich, dass das Makro, welches die Daten in das andere Blatt in eine neue Zeile kopiert hat, auf der Formularseite die Zeilennummer in ein Feld einträgt.

Die Eingabeseite heißt "Eingaben" und das Blatt mit der Liste heißt "Liste"

Beispiel:

Ich gebe Daten ein, klicke den Button an auf dem das Makro liegt, und die Daten werden nach "Liste" in Zeile 10 kopiert (während Zeilen 5-9 schon Daten enthalten aus vorherigen Übertragungen).

In dem selben Makro soll nun am Ende die Nummer, die in A10 steht (In Zeile A stehen von mir eigens vergebene Nummern), auf der Eingabeseite in das Feld B10 kopiert werden.

Anders formuliert:

Spalte A (Lliste) enthält Reklamationsnummern, fortlaufend. Beginnend mit RK20220001.

Wenn ich jetzt in der "Eingaben"-Seite meine Daten erfasse und das Makro nutze, werden die eingegebenen Daten in die "Liste" kopiert. Es wird automatisch immer die letzte Zeile gefüllt, ab Spalte B.

Nun möchte ich, dass die Reklamationsnr., die neben den zuletzt eingefügten Daten steht, in das "Eingaben"-Blatt in das Feld B10 kopiert wird.

Denn die Eingabefelder sind bereits so formatiert, dass man ein Etikett drucken kann, das dann an die Ware kann. Damit man nicht immer manuell die Nummer raus suchen muss, soll sie halt automatisch dort rein.

Computer, Office, Visual Basic, Microsoft Excel, Technik, programmieren, VBA, Technologie
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
Computer, Software, Office, Microsoft Excel, programmieren, VBA
Excel: Vergleichen mehrerer Spalten & Ausgabe eindeutiger Werte?

Hallo allerseits,

ich stehe vor folgender Herausforderung:

Auf einem Arbeitsblatt (Trainings-Wochenplan) gibt es pro Tag eine Spalte, die mit den Namen der jeweiligen Trainingsteilnehmer befüllt ist - sofern jeden Tag die selben Personen teilnehmen, ist noch alles unkompliziert.

Mein Problem besteht darin, dass mitunter jeden Tag Änderungen auftreten und verschiedene Teilnehmer in der jeweiligen Tagesspalte stehen ... manche sind an mehreren Tagen anwesend, andere vielleicht nur an einem Tag.

Mein Ziel besteht darin, aus den einzelnen Spalten nun jede Person nur einmalig zu erfassen und Duplikate zu ignorieren, um eine Teilnehmerliste in einer weiteren Spalte auszugeben (am besten alphabetisch sortiert).

Da dies alles dynamisch passieren soll, bin ich an einer Formellösung interessiert - ich hab' bereits gegoogelt, habe aber leider noch keine Lösung gefunden, die über den Vergleich von zwei Spalten hinausgeht ...

Vielen Dank vorab und freundliche Grüße,

Chris

@ DanKirpan & Suboptimierer:

Ich wollte Eure Lösungsvorschläge soeben ausprobieren, habe anfangs aber nicht berücksichtigt, dass zwischen den Namensspalten auch die Kurzzeichen der Teilnehmer stehen, welche nicht mitgenommen werden sollen. Außerdem gibt es diesen Tabellenblock auf der zweiten Seite nochmal (für insgesamt 12 Trainingseinheiten), was das Ganze wahrscheinlich langsam unlösbar macht :(

Ich entschuldige mich daher und habe nun einen Screenshot hochgeladen, um keine Fragen offen zu lassen - falls diese Aufgabenstellung sich irgendwie bewerkstelligen ließe, wäre ich dankbar ...

Bild zum Beitrag
Office, Microsoft Excel

Meistgelesene Beiträge zum Thema Office