Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: 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
Anzeige

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
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige