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

Danke schon jetzt für eure Hilfe.

GLG
Chris
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
Überlegen macht überlegen
Gruss aus dem schönen Hunsrück
_______ Klaus-Martin _______
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 :( )

Danke schon mal

Gruß
Chris


Angehängte Dateien
.xlsm   Mappe1.xlsm (Größe: 22,74 KB / Downloads: 1)
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...
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)
Ü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:
  • Chris-89
Top
#6
Funktioniert,

Danke für eure Hilfe

Gruß
Chris
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)
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 ???
Ü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:
  • Chris-89
Top
#9
Hallo Klaus,

Perfekt, jetzt läufts.

Danke!
Top


Gehe zu:


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