Problem bei Eingabemaske durch Makro
#1
Hallo,
ich habe ein Makro erstellt, welches mir eine Eingabemaske von einem bestimmten Tabellenblatt öffnet.
Hier der Code des Makros:

'--------------------------
Sub Maske()

Worksheets("Gesamte Kosten").ShowDataForm

End Sub

'-----------------------


Wenn ich das Makro ausführe, öffnet sich die Eingabemaske auch und ich kann Daten eintragen. Diese werden dann auch in die entsprechende Tabelle im richtigen Arbeitsblatt eingetragen.
Maske sieht so aus:
   

Tabelle dann so:
   

Jetzt kommt aber mein Problem. In der Eingabemaske wird ein Datum und ein Betrag eigetragen. In der Tabelle steht dann aber nicht Betrag in € sondern nur die Zahl. 
Siehe Markierung:
   

Da die Tabelle aber von anderen Zellen mit der Funktion Summenprodukt ausgelesen wird bekomm ich dann den Fehler #WERT! in der auslesenden Zelle.

Öffne ich jedoch die Eingabemaske über die Schnellzugriffsleiste im Tabellenblatt, dann werden die Beträge auch als Eurobeträge übernommen und die auslesenden Zellen mit Summenprodukt geben keinen Fehler. Auch bei händischer Eingabe in die Tabelle bekomm ich keine Fehler in den auslesenden Zellen.

Meine Frage nun, kann es am Makro liegen? Habe ich was vergessen oder muss noch was einfügen? Bin was Makros angeht noch blutiger Anfänger. Normalerweise zeichne ich sie auf, aber bei der Eingabemaske öffnen geht es ja nicht aufzeichnen.
Top
#2
Kleiner Nachtrag:

ich trage ja die Beträge mit der 10er Tastatur ein. z.B. 75,20

Wenn ich die Maske per Makro aufrufe und z.B. den obigen Betrag eingebe, dann schreibt die Maske statt 75,20  dann 75.,20
Sie setzt einfach einen Punkt vor das Komma.

Weis jemand warum das so ist? Wie gesagt, wenn ich die Eingabemaske über die Schnellstartleiste öffne dann macht excel alles wie es soll. Oder gibt es verschiedene Masken?

Danke für Eure Hilfe im vorraus
Top
#3
Hallo,

auf den Bildern sehe ich keinen Punkt vor dem Komma, nur einen Punkt statt eines Kommas Sad So was liegt an Ländereinstellungen, die zuweilen durch andere Programme auf dem Rechner verändert werden, wenn diese unbedingt die englische Variante haben wollen ... Dann musst DU für Excel immer wieder zurückstellen Sad
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
Top
#4
Um es nochmals zu verdeutlichen. Wenn ich einen Betrag eintippe, schreibt die Maske statt 75,20 eben 75.,20 und trägt diesen wert in die Tabelle ein.

vergrößertes Bild der Eingabemaske
   

So steht es dann in der Tabelle:
   

Das macht er aber nur wenn ich die Eingabemaske über Makro aufrufe (Code siehe Post #1). Dabei ist es egal von welchem Tabellenblatt ich das Makro aufrufe, der Fehler ist immer da. Wenn ich jedoch in das Tabellenblatt gehe wo die Eintragung stattfinden soll und die Eingabemaske statt über Makro mit Klick auf Symbol "Maske" in der Schnellstartleiste aufrufe, dann wird alles richtig dargestelllt und übernommen.

gern noch die Tabelle falls es jemand nachvollziehen möchte.


.xlsm   Autokosten_Test1.xlsm (Größe: 128,62 KB / Downloads: 3)

So langsam komm  ich der Sache näher. Danke für den Tipp @schauan. Also wenn ich die Maske über Makro öffne scheint ein amerikanische Version aufzugehen und bei öffnen über Schnellstartsymbol eine Deutsche. Sieht dann so aus:

   

Meine Frage nun: Kann man das Makro so schreiben das die deutsche Version der Eingabemaske aufgeht. Wenn ja wie wäre dann der Code? Danke für Eure Mühe im vorraus.
Top
#5
Hi

so scheint es zu klappen.
http://www.office-loesung.de/ftopic358921_0_0_asc.php

Gruß Elex
Top
#6
Hallo elex.

Das ist der richtige Lösungsansatz bzw beschreibt mein Problem. Allerdings nur wenn das Makro auf dem Arbeitsblatt ausgeführt wird, wo die Daten dann auch hinsollen. Ich will aber das Makro von der ersten Seite (Startseite) aus öffnen. Und da bekomm ich ne Eingabemaske von der Startseite. 

Weis jemand wie ich den Code umschreiben muss, damit die Eingabemaske in deutscher Formatierung/Version startet?
Top
#7
Du hast dort nicht aufmerksam genug gelesen.
Vorher wird das entsprechende Blatt aktiviert.

Gruß Elex
Top
#8
Wenn ich es so mache wie in dem Beitrag beschrieben, dann bekomm ich folgende Fehlermeldung:

   

Mein Makro steht auch nicht mehr in der Makroübersicht. Ich finde es nur noch im VBA-Editor

im Modul steht folgender Code :

Private Sub cmdSuchen_Click()
  Sheets("Gesamte Kosten").Range("A1").Activate
  CommandBars.FindControl(ID:=860).Execute
End Sub
Top
#9
Hallöchen,

die Click-Makros gehören in das Codemodul vom Tabellenblatt, wo der zugehörige Button ist. Die werden auch nicht angezeigt.
Im konkreten Fall benötigst Du einen ActiveX-Button. Dieser muss cmdSuchen heißen bzw. in seinen Eigenschaften entsprechend umbenannt werden.
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
Top
#10
In der Beispieldatei aus #4 im Modul2 deinen Code durch den ersetzen.
Code:
Sub Maske()
Sheets("Gesamte Kosten").Activate
Range("A1").Select
CommandBars.FindControl(ID:=860).Execute
End Sub

Startseite -> Klick auf "Eingabe anderer Kosten"
Top


Gehe zu:


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