Clever-Excel-Forum

Normale Version: Excel VBA Letzte Zelle in A ermitteln und bei C einfügen
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo zusammen,

Ich habe folgendes Problem:

Es öffnet sich eine Userform bei der Eingabe: "123456" dort soll man den Lagerort eingeben. Bis hierhin klappt alles.
Nun möchte ich das die Eingabe der "123456" gelöscht wird und ab dieser Zeile wo die "123456" stand in Spalte C der eingegebene Lagerort bis nach unten gefüllt wird bis zum letzten Wert in Spalte C. Ich lasse die Eingabe des Lagerorts in Zeile D3 ausgeben.

Ich hoffe man versteht was ich möchte.

Danke & viele Grüße
Hallo

Sorry, ich habe diese Aufgabe Nicht verstanden???

mfg  Gast 123
(15.12.2020, 08:39)Gast 123 schrieb: [ -> ]Hallo

Sorry, ich habe diese Aufgabe Nicht verstanden???

mfg  Gast 123
Hallo Gast 123,


ok das habe ich mir schon fast gedacht. :)

Ich erkläre etwas ausführlicher:

Ich möchte verschiedene Artikel mit einem Barcode scannen.
Damit ich nicht nach jedem Artikel scann den Lagerort scannen muss da man erst einen Lagerort komplett voll macht und dann zum nächsten Lagerort geht. Deshalb habe ich mir das so vorgestellt das man zuerst einen Barcode scannt mit z.b."123456" dadurch wird eine Userform geöffnet die den Lagerort verlangt. Diesen gibt man dort dann ein und bestätigt die Eingabe mit Enter. Nun soll in Spalte geschaut bis wohin die Letzte Artikel Nr. gescannt wurde nehmen wir an z.b. bis A35 dann soll bitte der Lagerort in spalte C bei C35 eingefügt werden und diese bis C1005 (Ende der Tabelle) kopiert werden.
Hallo zusammen,

ich habe jetzt alles etwas anders gemacht.

Nun bräuchte ich nur noch ein Befehl das mir in Spalte C den letzten Inhalt löscht. Jedoch nachdem die Userform geschlossen wurde.

Fällt euch da etwas ein?

Eine Möglichkeit wäre noch dass eine Zelle in A leer ist dann muss in Spalte C auch diese Zelle leer sein.
Hallo zusammen,

mein Problem habe ich nun gelöst.

Wollte jedoch mal nachfragen warum bei diesem Code er nicht untern den schon vorhandenen Werte einfügt sondern ab Zeile 5 einfügt und so andere werte überschreibt?

Code:
Workbooks("Test.xlsx").Sheets("Tabelle1").Range("A5:A" & Cells(Rows.Count).End(xlUp).Row + 4).PasteSpecial Paste:=xlPasteValues ' in ersten Freien zelle einfügen
Hallöchen,

eventuell gibst Du hier

Cells(Rows.Count)

noch eine Spalte ein, wo nach der letzten belegten Zeile gesucht werden soll, z.B. bei C wäre es

Cells(Rows.Count, 3)
Moin!

Zitat:Wollte jedoch mal nachfragen warum bei diesem Code er nicht untern den schon vorhandenen Werte einfügt sondern ab Zeile 5 einfügt und so andere werte überschreibt?


Mehr oder weniger off topic:
Cells(Rows.Count) ist ja bekanntlich Cells(1048576), weil Excel 2^20 aka 1048576 Zeilen hat.

Cells(1048576) ist XFD64
(weil, wenn die Spalte fehlt, die Zellen zeilenweise abgearbeitet werden)

Excel hat 2^14, also 16384 Spalten.
Cells(16384) ist XFD1
Cells(16385) daher A2

1048576/16384 ist 64
Deshalb landet man bei XFD64

Davon .End(xlUp).Row + 4 ergibt 5, weil die Spalte XFD sicherlich leer ist.
Also fügst Du in Range("A5:A5") ein, was Range("A5") entspricht.

Ende der Schulstunde und Gruß
Ralf