Ich brauche Hilfe bei der Befehlsschaltfläche. Folgende Themenstellung: In meiner Excelliste befindet sich bereits ein Kombinationsfeld welches in Zelle A1 die in diesem Feld ausgewählten Werte einfügt. Ich möchte nun mit einem Klick auf eine Befehlsschaltfläche den zuvor ausgewählten Wert von Zelle A1 in Zelle B1 einfügen. Wird jedoch im Kombinationsfeld ein anderer Wert ausgewählt ändert sich logischerweise auch der Wert in Zelle A1, durch einen weiteren Klick auf die Befehlsschaltfläche wird auch dieser Wert übernommen jedoch nun in Zelle B2. Der zu Beginn eingefügte Wert in Zelle B1 soll aber bleiben (trotz Veränderung des Wertes in Zelle A1)
wenn ich Dich richtig verstanden habe, sollen die Werte aus A1 nacheinander in Spalte B eingefügt werden?
Probier mal folgenden Code unter Deiner Befehlsschaltfläche:
Code:
Option Explicit
Sub Uebernahme() Dim lRow As Long lRow = Cells(Rows.Count, 2).End(xlUp).Row If Range("B1") = "" Then GoTo B1Leer Range("B" & lRow + 1) = Range("A1") Exit Sub B1Leer: Range("B1") = Range("A1") End Sub
Überlegen macht überlegen Gruss aus dem schönen Hunsrück _______ Klaus-Martin _______
Leider tut sich nichts wenn ich den Code reinkopiere (siehe im Anhang die Excelmappe) Kannst du dir das mal kurz ansehen? Vielleicht hab ich was falsch kopiert (bin nicht so der Makro Profi :( )
der Code gehört unter Deinen CommandButton: Geh mal in die Entwicklertools und schalte den Entwurfsmodus ein, Rechtsklick auf Deinen Button, Code anzeigen.
Zwischen Private Sub CommandButton1_Click() und End Sub kopierst Du nun
Dim lRow As Long
lRow = Cells(Rows.Count, 2).End(xlUp).Row
If Range("B1") = "" Then GoTo B1Leer
Range("B" & lRow + 1) = Range("A1")
Exit Sub
B1Leer:
Range("B1") = Range("A1")
Überlegen macht überlegen Gruss aus dem schönen Hunsrück _______ Klaus-Martin _______
Folgende(r) 1 Nutzer sagt Danke an Kl@us-M. für diesen Beitrag:1 Nutzer sagt Danke an Kl@us-M. für diesen Beitrag 28 • Chris-89
Ich musste meine Liste noch etwas modifizieren und dachte ich schaff das mit den Makros (umbeschriften etc.) aber dem war wohl nicht so. Im Anhang nochmal die Excel Mappe wie ich sie jetzt haben möchte.
Das Kombinationsfeld wählt die Werte A bis E aus (Spalte L) und fügt diese in Zelle F2 ein. In Spalte A (gelb markiert) sollen die Werte in Zelle F2 mit Klick auf die Befehlsschaltfläche eingefügt werden. d.h. dass zwischen den einzufügenden Werten immer 2 Zeilen freibleiben sollen.
Vielleicht kann man das Makro noch irgendwie umschreiben?
Ich hab das auch probiert und es funktioniert auch soweit (also der Wert in Zelle F2 wird mit Klick auf die Befehlsschaltfläche auch in Zelle A6 eingefügt, jedoch beim nächsten mal nicht wie gewünscht in Zelle A9 dann A12 dann A15...., sondern in Zelle A4 und wird dort weiter verändert)
Zur Erklärung: Cells(Rows.Count,1) bedeutet, dass die letzte gefüllte Zeile (Rows.Count) ermittelt werden soll, die sich in der ersten Spalte befindet (deswegen die 1).
In Deinem Code steht aber die 2 für Spalte B. Und da sich in B keine gefüllten Zeilen bzw. Zellen befinden, wird die erste Zeile ermittelt. Im Code zählst Du 3 dazu, also ergibt sich 4 und der Wert aus F2 wird in A4 übernommen. Beim nächsten Klick auf den CommandButton wird wieder in Spalte B geschaut - dort is' nix - also wird wieder die 1 + 3 ermittelt und der Wert in A4 übernommen - jetzt klar, wo Dein Fehler liegt ???
Überlegen macht überlegen Gruss aus dem schönen Hunsrück _______ Klaus-Martin _______
Folgende(r) 1 Nutzer sagt Danke an Kl@us-M. für diesen Beitrag:1 Nutzer sagt Danke an Kl@us-M. für diesen Beitrag 28 • Chris-89