Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

Wort sperren ??
#1
Hallo zusammen,
ich habe eine Tabelle die mit dem nachfolgenden VBA Code ausgerüstet ist:
Code:
Private Sub cbobeifahrer_Change()
End Sub

Private Sub cboeigene_Change()
End Sub

Private Sub CommandButton1_Click()
   Z = Range("A1").End(xlDown).Row + 1
   If Z > 65000 Then Z = 2
   Cells(Z, 1) = Me.cboSB.Value
   Cells(Z, 2) = Me.cbovorg.Value
   If Me.TextBox3 <> "" Then
      Cells(Z, 3) = CDbl(Me.TextBox3.Value)
   Else
      Cells(Z, 3) = ""
   End If
  
   If Me.TextBox4 <> "" Then
      Cells(Z, 4) = CDbl(Me.TextBox4.Value)
   Else
      Cells(Z, 4) = ""
   End If
  
   Cells(Z, 5) = Me.cbovorgang.Value
   Cells(Z, 6) = TextBox6
   Cells(Z, 7) = TextBox7
   Cells(Z, 8) = CDate(Me.txtdatum.Value)
   Cells(Z, 9) = Me.cboeigene.Value
   Cells(Z, 10) = TextBox10
   Cells(Z, 11) = Me.cboabgabe.Value
   Cells(Z, 12) = Me.cbobeifahrer.Value
   If IsDate(Me.Controls("TextBox12")) Then
      Cells(Z, 13) = Format(TextBox12, "dd.mm.yyyy")
   Else
      Cells(Z, 13) = ""
      
   End If
End Sub

Private Sub CommandButton2_Click()
   Unload Me
End Sub

Private Sub Label12_Click()
End Sub

Private Sub UserForm_Initialize()
   Dim rngkategorien As Range
   With Me
      .txtdatum.Value = Date
      '.cboSB.List = Range("SB").Value
      .cbovorg.List = Range("Vorgangsart").Value
      .cbovorgang.List = Range("Vorgang").Value
      .cboeigene.List = Range("Eigene").Value
      .cboabgabe.List = Range("Abgabe").Value
      .cbobeifahrer.List = Range("Beifahrer").Value
   End With
End Sub

In dem Eingabefenster ist unter der Rubrik Vorgang eine Liste hinterlegt mit verschiedenen Vorgängen.
Zudem lässt es das Fenster zu einen neuen andersnamigen Vorgang zu erstellen.
Meine Frage wäre nun ist es möglich in dieser bewußten Zelle ein bestimmtes Wort ( z.B. Tier) nicht zuzulassen.
Ich möchte quasi vermeiden, dass das Wort Tier in der Spalte wo der Vorgang erscheint nicht geschrieben werden kann. Ich hoffe ich habe mich deutlich ausgedrückt.

Gruß Fred
Antworten Top
#2
Hi Fred!
Zitat:Ich hoffe ich habe mich deutlich ausgedrückt.

Eher nicht!
Wenn es darum geht, eine ComboBox ohne das "böse" Wort zu füllen, nutze statt .List = .Value besser die .AddItem-Methode iVm einer Abfrage in der dann nötigen Schleife.
Geht es Dir darum, das Wort nicht auswählen zu dürfen, nutze das ComboBox_Change-Event.
Gleiches gilt für händische Einträge in der ComboBox.

Gruß Ralf
Gib einem Mann einen Fisch und du ernährst ihn für einen Tag. 
Lehre einen Mann zu fischen und du ernährst ihn für sein Leben. (Konfuzius)
Antworten Top
#3
Hallöchen,

Zitat:Ich möchte quasi vermeiden, dass das Wort Tier in der Spalte wo der Vorgang erscheint nicht geschrieben werden kann.

Eigentlich ist die Aufgabe schon gelöst, da Du im Code keine Eingaben unterdrückst Smile

Aber Spaß beiseite. Du kannst doch die Inhalte genau so abfragen wie bei der TextBox.

If ...value <> "Tier" Then

und damit verhindern, dass "Tier" in die Zelle übernommen wird.
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
Antworten Top
#4
Hallo Andre,
das funktioniert hervorragend habe jetzt so umgeschrieben:
 If Me.cbovorgang.Value <> "Tier" Then
    Cells(Z, 5) = Me.cbovorgang.Value
    Else
    Cells(Z, 5) = "NEIN"
   
 
    End If
   
sodass bei der Eingabe Tier --- im Text NEIN steht.
Gibt's eine Möglichkeit im selben If noch ein weiteres Wort z.b. Pflanze zu sperren und stattdessen im Text ACHTUNG zu schreiben. Habs mal probiert zwei gleiche IFs hintereinander zu setzten ( siehe hier):
 If Me.cbovorgang.Value <> "Tier" Then
    Cells(Z, 5) = Me.cbovorgang.Value
    Else
    Cells(Z, 5) = "NEIN"
   
 
    End If
    If Me.cbovorgang.Value <> "Pflanze" Then
    Cells(Z, 5) = Me.cbovorgang.Value
    Else
    Cells(Z, 5) = "Achtung"
   
 
    End If

da nimmt er mir aber nur den unteren Teil mit der Pflanze nicht aber das Tier ??
wo liegt mein Denkfehler ??

Gruß Fred
Antworten Top
#5
Hallo Fred,

so wie Du den zweiten Begriff definiert hast, hebst Du den ersten wieder auf.

Du könntest es z.B. so lösen:

Code:
If ... <> "Tier" Then
  If ... <> "Pflanze" Then
     Cells(Z, 5) = Me.cbovorgang.Value
  Else
     Cells(Z, 5) = "Achtung"
  End If
Else
  Cells(Z, 5) = "NEIN"
End If
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
Antworten Top
#6
ok das passt, vielen Dank

Gruß Fred
Antworten Top


Gehe zu:


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