VBA ohne excel starten

1 Antwort

VBA bedeutet Visual Basic for Applications. Diese Applications sind Word, Excel, Accsess, usw... (oder wie der der Deutsche sagen würde: Vord, Eggzill, Axis)

Wenn du die Dialogbox direkt vom Desktop starten willst musst du sie über VB programmieren und wahrscheinlich als *.exe ausführbar machen.

Du sagst du hat eine VBA-Datei erstellt. Welche Datei-Endung hat diese denn?


Halyl 
Beitragsersteller
 23.07.2013, 15:46

die datei ist eine excel datei aber das problem hab ich gelöst indem ich den code

Option Explicit

Private Sub Workbook_BeforeClose(Cancel As Boolean) Application.Visible = True End Sub

Private Sub Workbook_Open() Application.Visible = False UserForm1.Show 'UserForm-Name anpassen End Sub

in "diesearbeitsmappe" geschrieben hab

aber ich hätte ein parr andere fragen wie ich z.b

  • eine texstfeld bearbeite es sollen nur zahlen rein kommen können und maximal eine 4 stellige zahl also bei dem 5 mal 1 tippen kommt nix mehr

  • oder ich habe einen knopf gemacht der speichern soll was in bestimmt Testfelder steht

  • bei mir wenn ich den knopf drücke steht gespeichert da hab ich den code verwedet

Private Sub CommandButton2_Click() CommandButton2.Caption = "Gespeichert" End Sub

aber wie mache ich das da nicht für immer gespeichert steht sondern nur für 1sek

das wars erstmal fürs erste

augsburgchris  23.07.2013, 18:34
@Halyl

Auf den Button legst du Folgenden Text

Private Sub CommandButton1_Click()
CommandButton1.Caption = "Gespeichert"
Application.OnTime Now + TimeValue("00:00:05"), "Buttontext"
End Sub

in ein Allgemeines Modul:

Sub Buttontext()
UserForm1.CommandButton1.Caption = "Drück mich"
End Sub

5 Sekunden sollten es schon sein.

Das Textfeld bietet bei den Eigenschaften (falls nicht geschehen erst mal Eigenschaftsfenster im VBA-Editor einblenden) die Möglichkeit MaxLenght einzugeben. Wie du allerdings ein TEXTfeld dazu kriegst nur Zahlen zu akzeptieren weiss ich leider nicht.

Eventuell nach dem Eintrag abfragen was drin steht und bei Text motzen. Obwohl die Zahlen in dem Fall ja auch Text sind.

Iamiam  24.07.2013, 00:11
@augsburgchris

...TEXTfeld dazu kriegst nur Zahlen zu akzeptieren:

könnte mir als Bedingung
And (Code(Zeichen)>=48, Code(Zeichen) <= 57)
vorstellen.
Evtl auf 47(=/) oder 58(=:) erweitern und falsche Zeichen (per if-) durch eins davon [oder kleinere durch /, größere durch : ?] ersetzen, damit man Fehler sieht, aber nicht dauernd durch sie blockiert wird?

Die Prüfung ist möglicherweise nicht während der Eingabe möglich sondern erst im Nachhinein. Ggf MSG-Box mit der Zahl der Ersetzungen bauen.