Inputbox laten dwingen om in te vullen

Status
Niet open voor verdere reacties.

Peekhamer

Gebruiker
Lid geworden
2 okt 2012
Berichten
146
Ik heb een macro die kijkt naar of een cel gevuld is; is dit niet het geval vraagt ie om het registratienummer en de naam van de klant. Nu gebruiken meerdere van mijn collega's dit maar vergeten mijn initialen aan te passen in het model.

ik wil nu:
- kijken of een cel leeg is.
- als die leeg is dan moet ie vragen om de naam van de auditor
- als hij niks invult krijgt ie melding/opmerking dat ie zn initialen moet invoeren

Dit doet ie via case select en een msgbox.
maar dan het stuk wat mij niet lukt:
- ik wil dan graag dat de macro of de case select opnieuw start zodat gebruiker wel iets in MOET vullen.
Welk commando moet ik hiervoor gebruiken??

Code:
'Range("I1").Select
          'If ActiveCell.Value = "" Then
          '
          'Auditor = InputBox("Wie zijt gij? Voer je initialen in.", "Auditor")
          '  Select Case Auditor
          '  Case ""
          '      MsgBox ("Je moet je initialen invullen!"): Select Case Auditor
          '  Case Else
          '      ActiveCell.Value = Auditor
          '   End Select
          'ActiveWorkbook.Save

Relevante stukje code...
 
Maak er eens een combinatie van.
Code:
Sub hsv()
Dim initialen As String
Do
  initialen = InputBox("initialen invullen")
    Loop Until initialen <> ""
End Sub
 
bedankt;
Moet ik dit stuk doen bij "case "" "?

Want als ik heel mijn code vervang door dit stuk dan werkt het idd, maar vraagt hij iedere keer om je initialen als ik het bestand open.
Het bestand is een model; hij vraagt om de initialen en slaat hem dan op, en het vervolgens werkt hij als een sjabloon. dus als het eenmaal is ingevuld moet hij dat stuk overslaan.
Dan ontkom ik toch niet aan if... of case select?
 
Dit is het nu geworden en dat werkt:

Code:
Range("I1").Select
            If ActiveCell.Value = "" Then
            Dim initialen As String
             Do
             initialen = InputBox("Wie zijt gij? Vul je initialen in...")
             Loop Until initialen <> ""
             ActiveCell.Value = initialen
             ActiveWorkbook.Save
            Else
            End If
 
Dat kan anders.
Vermijd select, en de 'Else' doe je niets mee, dus die kan er uit.
Code:
Dim initialen As String
With Range("I1")
  If .Value = "" Then
      Do
        initialen = InputBox("Wie zijt gij? Vul je initialen in...")
          Loop Until initialen <> ""
              .Value = initialen
             ActiveWorkbook.Save
      End If
   End With
 
Je moet 'select' vermijden omdat dat 'hard' is neem ik aan?

Ik let er idd nu meer op om overbodige commando's achterwege te laten, dat scheelt een hele lap code!
En die 'else' heb ik er idd uitgelaten nu.

Bedankt voor je hulp!
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan