Excel VBA / Excel Makro Wertliste Untereinander

Hallo, Ich möchte Buttons mit Zahlen (1-9) machen und wenn ich die Butten Drücke soll es dieser Werte in die Exceltabelle eintragen, allerdings untereinender und in 2 Unterschiedlichen Spalten. z.b. Gerade Zahlen in Spalte F und Ungerade Zahlen in der Spalte G. wemm diese erklärung nicht Reicht dem kann ich auch gerne mal ein bild schicken, Anfrage unter [email protected]

Hallo Benny,
meine Art ist vielleicht etwas umständlich, aber es funktioniert Ich hoffe ich habe dich richtig verstanden. Füge alles in ein Modul ein und weise jeder Schaltfläche das richtige Makro zu.

Sub Eins()
Cells(65536, 6).End(xlUp).Offset(1, 0).Value = „1“
End Sub

Sub Zwei()
Cells(65536, 7).End(xlUp).Offset(1, 0).Value = „2“
End Sub

Sub Drei()
Cells(65536, 6).End(xlUp).Offset(1, 0).Value = „3“
End Sub

Sub Vier()
Cells(65536, 7).End(xlUp).Offset(1, 0).Value = „4“
End Sub

Sub Fuenf()
Cells(65536, 6).End(xlUp).Offset(1, 0).Value = „5“
End Sub

Sub Sechs()
Cells(65536, 7).End(xlUp).Offset(1, 0).Value = „6“
End Sub

Sub Sieben()
Cells(65536, 6).End(xlUp).Offset(1, 0).Value = „7“
End Sub

Sub Acht()
Cells(65536, 7).End(xlUp).Offset(1, 0).Value = „8“
End Sub

Sub Neun()
Cells(65536, 6).End(xlUp).Offset(1, 0).Value = „9“
End Sub

Sag bitte ob es das ist was du gesucht hast. Ich habe auch gerade erst angefangen mit VBA und deswegen gibt es bestimmt bessere Lösungen.
Carsten

Hallo BoyBenny,

da ich auch noch eine Frage direkt per Maul.Service bekommen hab schenk ich mir die Antwort hier

Gruß
Franz

Hi
Sollen es denn immer nur einstellige Zahlen sein?
Oder sollen die Buttons ähnlich eines Taschenrechners angeordnet und mit einer Art „Enter-Taste“ versehen werden, die bei Klick die vorher, ggf. mehrstellig eingegebene Zahl, überträgt?
Gruß, Ptonka

Hallo

  1. Für gerade Zahlen , zeichne dein Makro auf.

2.Für ungerade Zahlen , zeichne dein Makro auf.

Dan ersetze die Zeile Durch Code was hier findest

Letzte zeile finden

Noch mehr findest hier

hallo, nein es soll später auch 2 Stellige zahlen geben, aber ohne Entertaste. in der erweiterten Version wird es dann auch Button 11,12,13,… geben.

Hallo,

es ist nicht ganz so wie ich es mir vorgestellt habe,

wenn ich 1-9 durchklicke, schreibt er 1 in F2, 2 in G2, 3 in F3, 4 in G3 und es sollte aber so sein, dass 1 in F2, 2 in G3, 3 in F4, 4 in G5 steht. aber der ansatz ist richtig, kannst du mir denn Code auch kurz erklären?

meinst du diesen Code hier?

Sub letzten_loeschen()
Dim lRow As Long
On Error Resume Next 'Falls Bereich leer ist
lRow = Range(„B8:J38“).Find("*", searchdirection:=xlPrevious).Row
Range(„B“ & lRow, „J“ & lRow).ClearContents
End Sub

Ich ferstehe den Code nur Teilweisse, aber Prüft er nicht die Reihe? ich möchte ja untereinander schrieben (spalte)

Hallo
ja, da brauchst Du z.B. zwei globale Variabeln. Diede deklarierst Du am besten in einem Modul namens Variable. Anstelle von dim nimmst Du public. public steht immer ausserhalb einer Prozedur.
Wenn diese Variabeln leer sind, kannst Du die zellen durchstöbern, mit einer For schleife, die bei der ersten leeren Zelle beendet wird. Damit hast du die erste freie zelle der Spalte bestummen.
beim Knopf hinterlegst Du beispielsweise:
tabelle1.cells(i,1)=„2“
i ist die laufvariable, welche die Zeile vorgiebt. 1 ist die Spalte. In diesem Falle A.
Grüsse Sebastian

Hi,
schick mal eine Mailadressen, dann sende ich Dir eine Beispieldatei.
Gruß,
Ptonka

1 Like

Hallo Benny, jetzt willst du aber was ganz anderes wie in deiner Frage. Du wolltest gerade und ungerade Zahlen trennen und untereinader eintragen. Genau das macht der Code. Jetzt zu deiner neuen Frage. Sollen die Zahlen denn weiter untereinader aufgeführt werden oder nur einmal, dh. wenn du 2x die Eins drückst steht die erste 1 in F2 und die zweite 1 in F3, oder wie möchtest du es? Oder soll die 5 immer in H6 stehen, müssen die Zahlen irgendwie wieder entfernt werden? Versuche es ein bisschen genauer zu beschreiben.
Carsten

1 Like

Schick mir doch am [email protected] ne Mail und ich schicke dir ein Bild

Hallo Benny, sag bitte ob es das ist was du wolltest.
Carsten

der code sucht in spalte A die letzt beschriebene zeile

Sub letzte_Zeile_finden()

MsgBox Range(„A65536“).End(xlUp).Row + 1

End Sub

1 Like

Hallo Benny,
da kann ich nicht helfen.

Gruß Hugo