cewiethemaster
Goto Top

VBA Excel Makros

Zahlen zu zelle G4 hinzufügen

Hallo.

Bis jetz verwende ich folgendes Makro

Sub Blank_1()
'  
' Blank_1 Makro  
' Schreibt einen 1 in die Blankzeile  
'  

'  
    ActiveCell.FormulaR1C1 = "1"  
    Range("I13").Select  
End Sub

Das Makro schreibt einen 1er in die Aktuelle Zelle...

Wie kann ich des so machen, dass das Makro beim Ausführer einen 1er an die anderen Zahlen in zelle G4 Schreibt?
das heisst, die anderen nicht ersetzen, sondern RECHTS davon eine 1 anhängen??


Bitte helft mir


Grüße

Content-Key: 139459

Url: https://administrator.de/contentid/139459

Ausgedruckt am: 29.03.2024 um 02:03 Uhr

Mitglied: cewiethemaster
cewiethemaster 30.03.2010 um 09:44:50 Uhr
Goto Top
Bitte, es ist dringend...
Ich brauch das script heute...
Mitglied: Snowman25
Snowman25 30.03.2010 um 09:55:01 Uhr
Goto Top
Range("G4").Value=Cstr(Range("G4").Value) + CStr(1)
greetz
Mitglied: cewiethemaster
cewiethemaster 30.03.2010 um 09:59:13 Uhr
Goto Top
Danke snowman.

Noch etwas, wie kann ich das Makro so einstellen, dass es automatisch beim Klick auf die Zelle E9 ausgeführt wird?
Mitglied: TheEternalPhenom
TheEternalPhenom 30.03.2010 um 13:14:13 Uhr
Goto Top
Sers

Das dürfte schon schwieriger werden.

Meines Wissens wird es nicht gehen, da das Makro die Zelle als eine Art InputBox o.ä. sieht. Du könntest dir einen Button einfügen und mit klicke auf diesen das Makro starten.
Soweit ich jedoch weiß dürfte es schwierig werden einer bestimmten Zelle ein Makro zuzuweisen.
Meiner Meinung nach ist es eh besser einen Button bzw. ein variables Element anstatt eines festen Elementes.

Gruß

duffman521
Mitglied: Snowman25
Snowman25 30.03.2010 um 13:19:29 Uhr
Goto Top
naja Duffman,
Ich habs jetzt so probiert, dass ich die Zelle als globales Range-object habe und dort ein GotFocus-Event aufrufe (was aber nicht funktionieren will)
ein anderer Ansatz war, bei Worksheet_SelectionChange auf die Aktive Selection zu prüfen, ob die E9 ist (da hab ich was mit ActiveCell etc. durcheinandergebracht)

So wirklich klappen wollte keins von beiden...
'nen einfachen Button rein, und gut ist

Gruß
Snow
Mitglied: cewiethemaster
cewiethemaster 30.03.2010 um 13:52:48 Uhr
Goto Top
Also Button ist unakzeptabel, weil ich da nciht viel Formatierenb kann.
Und mann soll es ja nciht als Button erkennen.

Ich hab´s jetz so gemacht: Ein Bild als Link, und bei Klick ruft er des Makro auf.

Im Prinzip wie ein button, aber ohne den Button-Style
Mitglied: Snowman25
Snowman25 30.03.2010 um 13:55:52 Uhr
Goto Top
Ein bild ist wieder ein Objekt, mit dem lässt sich das problemlos durchführen.
Mitglied: cewiethemaster
cewiethemaster 30.03.2010 um 13:58:26 Uhr
Goto Top
Hab ich gemerkt :D

Danke für die Mühe
Mitglied: TheEternalPhenom
TheEternalPhenom 30.03.2010 um 14:09:41 Uhr
Goto Top
@Snowman25

Es ist nicht unmöglich jedoch nicht gerade sehr einfach.

Eine andere Möglichkeit wäre, wenn das Makro dauerhaft läuft und bei der Eingabe eines Wertes dann seinen eigentliche Tätigkeit beginnt. Diese Möglichkeit würde jedoch sehr viel Programmierarbeit voraussetzen.

Vllt. wäre es sogar bei berühren des Feldes schon möglich aber ansonsten denke ich wird es sehr schwer. Schon aus dem Grund, dass Excel das rein klicken anders verarbeitet als das Makro bzw. anders als das nutzen eines Buttons.
Mitglied: bastla
bastla 30.03.2010 um 15:18:26 Uhr
Goto Top
@Snowman25
Mit "SelectionChange" sollte es eigentlich so funktionieren:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Address <> "$E$9" Then Exit Sub  
Range("G4").Value = Range("G4").Value & "1"  
End Sub
Nachteil: Es muss zwischenzeitlich eine andere Zelle gewählt werden, um das Ereignis ein weiteres Mal auslösen zu können - insofern würde ich auch einen Button / ein Objekt zum Starten des Makros bevorzugen ...

Grüße
bastla
Mitglied: Snowman25
Snowman25 30.03.2010 um 16:15:22 Uhr
Goto Top
Zitat von @bastla:
@Snowman25
Mit "SelectionChange" sollte es eigentlich so funktionieren:

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Address <> "$E$9" Then Exit Sub
Range("G4").Value = Range("G4").Value & "1"
End Sub

Nachteil: Es muss zwischenzeitlich eine andere Zelle gewählt werden, um das Ereignis ein weiteres Mal auslösen zu
können - insofern würde ich auch einen Button / ein Objekt zum Starten des Makros bevorzugen ...
Das war auch eines meiner Probleme. Allerdings hatte ich mich auch schon mit Target.Adress&&ActiveCell&&Selection etc. verheddert. Schon zu lange kein VBA mehr geschrieben.

Grüße
bastla
Grüße
Snow