Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
660to664
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
660to664
660to664
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Pflichteingabe in 2 definierte Zellen

Pflichteingabe in 2 definierte Zellen
07.09.2005 16:32:16
Anne
Hallo ExcelForum,
ich hab versucht im Archiv eine Lösung für mein Problem zu finden - ist mir leider nicht gelungen und meine eigene Versuche, ähnliches anzupassen sind missglückt...
ich würde gern über ein Userform eine Texteingabe in 2 bestimmte Zellen (c3,l3) erzwingen. Erst nach der Eingabe kann auf dem Arbeitsblatt (Test) weitergearbeitet werden.
Kann mir dazu jemanden einen Vorschlag machen?
Anne

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Pflichteingabe in 2 definierte Zellen
07.09.2005 17:52:23
tina
Gruss Tin@
Ne Rückmeldung ist immer gut. ;)
verspätete Antwort
09.09.2005 11:05:15
Anne
Hallo ihr 2,
hab heute erst eure Beiträge lesen können - werde es gleich mal versuchen...
Danke erstmal und lieben Gruß
Anne
AW: Pflichteingabe in 2 definierte Zellen
07.09.2005 18:50:33
GraFri
Hallo
Falls ich alles richtig verstanden habe?
Vielleicht hilft dir folgender Code weiter.


      
' Erstelle eine Userform mit 2 Textboxen (Name: txtZelleA3, txtZelleI3) und
' einem CommandButton (Name: cmdOk)

Option Explicit
Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" _
(
ByVal lpClassName As StringByVal lpWindowName As StringAs Long
Private Declare Function EnableWindow Lib "user32" _
(
ByVal hwnd As LongByVal bEnable As LongAs Long
Dim hwndXL&
Dim PrüfZahl%
Private Sub UserForm_Activate()
   
   hwndXL = FindWindow("XLMAIN", Application.Caption)
   
If hwndXL <> 0 Then
       EnableWindow hwndXL, 0   
'Excelfenster sperren
       Application.CellDragAndDrop = False
   
End If
End Sub
Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer)
    
    
If CloseMode = vbFormControlMenu Then
          Cancel = 
True
    
End If
    Application.CellDragAndDrop = 
False
End Sub
Private Sub cmdok_Click()
' Überprüfen, ob Eingabe erfolgte
    If Len(txtZelleC3) = 0 Or Len(txtZelleI3) = 0 _
    
Or IsEmpty(txtZelleC3) Or IsEmpty(txtZelleI3) Then
          MsgBox "Beide Eingabefelder müssen gefüllt werde."
          
If Len(txtZelleC3) = 0 Then txtZelleC3.SetFocus Else txtZelleI3.SetFocus
          
Exit Sub
    
End If
' Überprüfung, ob nur Leerzeichen eingegeben wurden
    Prüfe_Leerzeichen (txtZelleC3)
    
If Len(txtZelleC3) = PrüfZahl Then
          MsgBox "Nur Leerzeichen nicht zulässig."
          txtZelleC3.SetFocus
          
Exit Sub
    
End If
    Prüfe_Leerzeichen (txtZelleI3)
    
If Len(txtZelleC3) = PrüfZahl Then
          MsgBox "Nur Leerzeichen nicht zulässig."
          txtZelleI3.SetFocus
          
Exit Sub
    
End If
        
  
  
      hwndXL = FindWindow("XLMAIN", Application.Caption)
      
      
If hwndXL <> 0 Then
          EnableWindow hwndXL, 1   
'Excelfenster entsperren
      End If
      
      Worksheets("Test").[C3] = txtZelleC3.Value
      Worksheets("Test").[I3] = txtZelleC3.Value
      
      Application.CellDragAndDrop = 
True
   
   Unload Me
End Sub
Bei weiteren Fragen einfach melden.
mfg, GraFri
Anzeige
Uppps - Code berichtigt
07.09.2005 18:58:13
GraFri
Hallo
Hatten sich leider 2 kleine Fehler eingeschlichen.


      
' Erstelle eine Userform mit 2 Textboxen (Name: txtZelleA3, txtZelleI3) und
' einem CommandButton (Name: cmdOk)

Option Explicit
Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" _
(
ByVal lpClassName As StringByVal lpWindowName As StringAs Long
Private Declare Function EnableWindow Lib "user32" _
(
ByVal hwnd As LongByVal bEnable As LongAs Long
Dim hwndXL&
Dim PrüfZahl%
Private Sub UserForm_Activate()
   
   hwndXL = FindWindow("XLMAIN", Application.Caption)
   
If hwndXL <> 0 Then
       EnableWindow hwndXL, 0   
'Excelfenster sperren
       Application.CellDragAndDrop = False
   
End If
End Sub
Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer)
    
    
If CloseMode = vbFormControlMenu Then
          Cancel = 
True
    
End If
    Application.CellDragAndDrop = 
True
End Sub
Private Sub cmdok_Click()
' Überprüfen, ob Eingabe erfolgte
    If Len(txtZelleC3) = 0 Or Len(txtZelleI3) = 0 _
    
Or IsEmpty(txtZelleC3) Or IsEmpty(txtZelleI3) Then
          MsgBox "Beide Eingabefelder müssen gefüllt werde."
          
If Len(txtZelleC3) = 0 Then txtZelleC3.SetFocus Else txtZelleI3.SetFocus
          
Exit Sub
    
End If
' Überprüfung, ob nur Leerzeichen eingegeben wurden
    Prüfe_Leerzeichen (txtZelleC3)
    
If Len(txtZelleC3) = PrüfZahl Then
          MsgBox "Nur Leerzeichen nicht zulässig."
          txtZelleC3.SetFocus
          
Exit Sub
    
End If
    Prüfe_Leerzeichen (txtZelleI3)
    
If Len(txtZelleC3) = PrüfZahl Then
          MsgBox "Nur Leerzeichen nicht zulässig."
          txtZelleI3.SetFocus
          
Exit Sub
    
End If
        
  
  
      hwndXL = FindWindow("XLMAIN", Application.Caption)
      
      
If hwndXL <> 0 Then
          EnableWindow hwndXL, 1   
'Excelfenster entsperren
      End If
      
      Worksheets("Test").[C3] = txtZelleC3.Value
      Worksheets("Test").[I3] = txtZelleI3.Value
      
      Application.CellDragAndDrop = 
True
   
   Unload Me
End Sub
Anzeige
Danke euch beiden - funkt's beides! =o)
09.09.2005 11:34:18
Anne

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige