Das Clever-Excel-Forum.de - Treffen
... 14.-16. September 2018 im Allgäu ...

Steuerelement "Befehlsschaltfläche"
#1
Hallo Liebe Forenmitglieder,

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)

Ich hoffe das war ausführlich genung Smile 

Danke schon jetzt für eure Hilfe.

GLG
Chris
to top
#2
Hi Chris,

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
to top
#3
Hallo Klaus,

Danke erstmal für deine schnelle Hilfe,

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 Sad )

Danke schon mal

Gruß
Chris


Angehängte Dateien
.xlsm   Mappe1.xlsm (Größe: 22,74 KB / Downloads: 1)
to top
#4
Oh sorry, hab vergessen das Makro auszuführen.

Es funktioniert aber.... Ich muss dann nach jedem Klick ALT+F8 drucken und das Makro ausführen...
to top
#5
Hi Chris,

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")


Angehängte Dateien
.xlsm   re_Mappe1_Chris-89.xlsm (Größe: 21,54 KB / Downloads: 0)
[-] Folgende(r) 1 Benutzer sagt Danke an Kl@us-M. für diesen Beitrag:
  • Chris-89
to top
#6
Funktioniert,

Danke für eure Hilfe

Gruß
Chris
to top
#7
Ok, doch nicht erledigt.

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)

Bitte um eure Hilfe,

Vielen Dank!

Gruß
Chris


Angehängte Dateien
.xlsm   Mappe1.xlsm (Größe: 23,32 KB / Downloads: 5)
to top
#8
Hi Chris,

so gehts:

...
...
lRow = Cells(Rows.Count, 1).End(xlUp).Row
...
...

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 ???
[-] Folgende(r) 1 Benutzer sagt Danke an Kl@us-M. für diesen Beitrag:
  • Chris-89
to top
#9
Hallo Klaus,

Perfekt, jetzt läufts.

Danke!
to top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste