Optbutton
#11
... wie gesagt, recht oft hilft das schrittweise Ausführen von Makros bei der Analyse von Fehlern. Wenn einem das zu lange dauert, kann man auch an verschiedenen Stellen im Code den Befehl Stop eingeben, dann wird die Ausführung dort angehalten ...
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
Antworten Top
#12
Perfekt!

Alles geändert und angepasst!

Besten Dank für die Hilfe!
Antworten Top
#13
Frage, rechnet VBA anders als normale Formel?

Als Formel nutze ich zum errechnen folgende
Code:
=WENN(c_Bestellwarnung;WENN(S16/C3%<=S17;"Der Artikel muss bestellt werden!";"");"")

also wenn % von Sollwert erreicht oder kleiner dann Warnung.

Die obere Formel funzt ja, aber im VBA nicht


Code:
If Me.Controls("TextBox8") & "/" & Sheets("Einstellungen").Range("C3") & "%" <= Me.Controls("TextBox9") Then
            Me("Label23").Visible = True
            Else
            Me("Label23").Visible = False
            End If
Antworten Top
#14
Kein Wunder, denn eine Textbox enthält, wie der Name es schon wage andeutet 72 , TEXT und keine Zahlen, mit denen du matematische Operationen durchführen kannst.
Wenn schon, musst du den Text, z.B. mit CDbl, vorher in eine Zahl umwandeln.
Antworten Top
#15
Hallo,

(31.01.2025, 16:36)Andyle schrieb: Die obere Formel funzt ja, aber im VBA nicht

If Me.TextBox8 / (Sheets("Einstellungen").Range("C3").Value / 100) <= Me.TextBox9 Then

Gruß, Uwe
Antworten Top
#16
Kein Erfolg! Huh

TextBox8 ist Bestand
TextBox9 ist Soll

Sheets("Einstellungen").Range("C3") ist die Zahl für die %

Er soll alarmieren, wenn Bestand unter Soll fällt.

Soll 100
Bestand 50
Range("C3") 50

also Alarm
Bei Bestand 51 kein Alarm mehr
Antworten Top
#17
Hallo,

wenn ich es richtig verstanden habe dann so:
Code:
Sheets("Einstellungen").Range("C3") = Round(100 / CDbl(TextBox9) * CDbl(TextBox8), 0)
Bedingte Formatierung in Zelle C3 für Alarm schaffst du selbst.

Gruß Uwe
Antworten Top
#18
in
Code:
Sheets("Einstellungen").Range("C3")
 steht nur die zahl, die als % sein soll

Heißt, dass wnn im Bestand die % vom Soll erreicht sind, dann Label anzeigen sonst ausblenden
Antworten Top
#19
Me.Controls("TextBox1") 
ist doppelt Quatsch.
1) "Controls" zu benutzen macht nur Sinn, wenn die Nummer der Textbox variabel sein soll [Me.Controls("TextBox" & i) ]
2) Me kann weg. Das wäre, als ob du aus dem Festnetz in Köln eine Nummer aus Köln anrufst und trotzdem die Vorwahl benutzst.
Wenn der Code jedoch nicht im Codemodul der Userform mit der TextBox1 steht, musst du z.B. schreiben:
Userform3.Textbox1
Wenn du aber innerhalb des Codemoduls von Userform1 die Textbox meinst, die sich auf Userform1 befindet, reicht:
Textbox1

Poste mal die NEUE Datei.
Antworten Top
#20
wird in der selben Userform angesprochen, aber trotzdem kein Erfolg.


In der Userform2 habe ich folgende Variable

Public einaus As String

einaus = "1"

Im Modul wie folgt

Public einaus As String

  If einaus <> "1" Then
  UserForm3.Show
  End If

Nur reagiert er nicht darauf und msgbox einaus ist leer


Angehängte Dateien
.xlsm   Barcode scannen.xlsm (Größe: 509,39 KB / Downloads: 3)
Antworten Top


Gehe zu:


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