Anzeige
Archiv - Navigation
528to532
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
528to532
528to532
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Makro ausführen nach Eintrag

Makro ausführen nach Eintrag
06.12.2004 21:36:38
Roger
Hallo zusammen
Ich hoffe ihr könnt mir helfen. In einem Tabellenblatt wird folgendes eingegeben, immer in der letzten freien Zelle in A das Datum in B und C eine Zahl und in D ein Betrag. Wenn ich das direkt so auf dem Blatt eingebe fängt wenn ich die Zelle D verlasse ein Makro1 an zu laufen und schreibt alles noch in andere Blätter. Nun dachte ich mir zur vereinfachung der Eingaben mache ich mir eine Maske. Das eintragen klappt auch wunderbar nur wird das Makro1 nicht ausgeführt. Kann ich das eventuell via Application.Run in den Code einbinden mit dem ich die Maske auslese? Das Makro1 befindet sich in Microsoft Excel Objekte im Blatt "Buchungen". Der Titel lautet:

Private Sub Worksheet_Change(ByVal Target As Range)
Wenn ja wo im Code zum auslesen muss ich die Application einfügen? Ich hoffe ich habe mich verständlich ausgedrückt.
Der Code lautet:

Private Sub CommandButton1_Click()
With Sheets("Buchungen")
lz = Range("A65536").End(xlUp).Row + 1
.Cells(lz, 1).Value = CDate(TextBox1.Value)
.Cells(lz, 2).Value = CLng(ComboBox1.Value)
.Cells(lz, 3).Value = CLng(ComboBox2.Value)
.Cells(lz, 4).Value = TextBox2.Value
.Cells(lz, 5).Value = TextBox3.Value
.Cells(lz, 6).Value = TextBox4.Value
.Cells(lz, 7).Value = TextBox5.Value
.Cells(lz, 8).Value = TextBox6.Value
.Cells(lz, 9).Value = TextBox7.Value
.Cells(lz, 10).Value = TextBox8.Value
End With
Dim ObCb As Object
For Each ObCb In Me.Controls
If TypeName(ObCb) = "TextBox" Then ObCb.Value = ""
If TypeName(ObCb) = "ComboBox" Then ObCb.Value = ""
Next ObCb
End Sub

Besten Dank füre eure Hilfe
Gruss Roger

9
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Makro ausführen nach Eintrag
Beni
Hallo Roger,
Private Sub Worksheet_Change(ByVal Target As Range) wird nur ausgeführt, wenn mit der Tastatur eine Aenderung erfolgt, hänge den Code an den des CommandButton1.
Gruss Beni
AW: Makro ausführen nach Eintrag
07.12.2004 08:05:32
Roger
Hallo Beni
Danke für den Tip. Habs ausprobiert dann bleibt aber der Code hängen. Gibt es keine Möglichkeit das ich dem Code des CommandButton nach jedem eintragen in die Zelle sage er soll einen Tastaturbefehl ausführen? Dann müsste ja das andere Makro zu laufen beginnen oder liege ich da völlig falsch?
Kann leider die Codes hier nicht posten da die sehr gross sind.
Gruss Roger
AW: Makro ausführen nach Eintrag
Beni
Hallo Roger,
stell den Code hinein, ich werde ihn anpassen.
Gruss Beni
Anzeige
AW: Makro ausführen nach Eintrag
07.12.2004 18:27:42
Roger
Hallo Beni
Da der Code sehr lang ist hab ich ihn mal exportiert und in ZIP gepackt. Hoffe es geht so. Das ganze Sheet hat sehr viele Blätter wo der code eintragungen macht. Da ich den Code nicht selber geschrieben habe kann ich auch nicht genau sagen was er so macht. In VBA bin ich immer noch ein Anfänger.
https://www.herber.de/bbs/user/14472.zip
Besten Dank
Gruss Roger
AW: Makro ausführen nach Eintrag
Beni
Hallo Roger,
ist schon sehr komplex Dein Code, wenn man den Rest nicht kennt, ist schwierig ihn anzupassen.
Gruss Beni
AW: Makro ausführen nach Eintrag
07.12.2004 21:21:53
Roger
Hallo Beni
Hab mal die Datei auf meine Webseite hochgeladen.
http://www.berchteli.ch/Computer/computer.html
Titel: Buchhaltung für Beni ist als ZIP Datei gepackt dort kannst du sie runterladen. Eventuell hilft dir das. Wäre froh wenn es klappen würde.
Besten Dank
Gruss Roger
Anzeige
AW: Makro ausführen nach Eintrag
Beni
Hallo Roger,
soweit ich das getestet habe, wird das Makro gestartet, einzig was ich bemerkt habe ist, die ComboBoxen, in CStr(), wegen den "-" wird es als Test = "String" interpretiert.
Gruss Beni

Private Sub CommandButton1_Click()
With Sheets("Buchungen")
lz = Range("A65536").End(xlUp).Row + 1
.Cells(lz, 1).Value = CDate(TextBox1.Value)
.Cells(lz, 2).Value = CStr(ComboBox1.Value) ' CStr
.Cells(lz, 3).Value = CStr(ComboBox2.Value) ' CStr
.Cells(lz, 4).Value = TextBox2.Value
.Cells(lz, 5).Value = TextBox3.Value
.Cells(lz, 6).Value = TextBox4.Value
.Cells(lz, 7).Value = TextBox5.Value
.Cells(lz, 8).Value = TextBox6.Value
.Cells(lz, 9).Value = TextBox7.Value
.Cells(lz, 10).Value = TextBox8.Value
End With
Dim ObCb As Object
For Each ObCb In Me.Controls
If TypeName(ObCb) = "TextBox" Then ObCb.Value = ""
If TypeName(ObCb) = "ComboBox" Then ObCb.Value = ""
Next ObCb
End Sub

Anzeige
AW: Makro ausführen nach Eintrag
08.12.2004 21:34:43
Roger
Hallo Beni
Ich hab den neuen Code mal reingenommen. Es startet zwar was aber nicht richtig. Wen ich zum Beispiel Datumheute eingebe KontoSoll 1 und KontoHaben 3 auswähle und dann Betrag 300 dann erhalte ich einen roten Bereich dort heisst es dann die Buchung wurde nicht korekt ausgeführt Betrag -600. Gebe ich das gleiche ohne Makse direkt auf dem Blatt ein, dann verbucht es alles richtig. Weisst du noch eine andere Lösung? Sonst muss ich es wohl sein lassen mit der Maske.
Besten Dank
Gruss Roger
AW: Makro ausführen nach Eintrag
Beni
Hallo Roger,
nach langem suchen habe ich die On Error GoTo ErrorHandler, deaktiviert und es funktioniert.
Gruss Beni
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige