17. oktober 2008 - 17:57Der er
3 kommentarer og 1 løsning
Hjælp til Betinget autostart af makro. og hjælp til afslutning.
Hej, jeg har lavet denne makro, men jeg har behov for lidt hjælp!
1) Den skal rettes til så den "affyres" automatisk når filen åbnes. men det skal kun ske hvis en eller flere af følgende celler B3,B4,B5,B7,B8 ikke er udfyldt med enden tekst eller tal.
2) Hvis der svares Nej i sidste msgbox skal den starte forfra. Hvis der svares Ja skal den afslutte makroen.
Hvordan klare jeg dette???
Public Sub Auto_Open()
' Spørg om navn og skriv det i celle
Dim navn As String navn = InputBox(Prompt:="Goddag, Angiv dit navn", Title:="Test Løn registering") Range("B3").Value = navn
' Spørg om første uge og skriv det i celle
Dim uge As Integer uge = InputBox(Prompt:="Oplys lønperiodens første uge", Title:="Test Løn registering") Range("B5").Value = uge
' Spørg om Løn nr. og skriv det i celle
Dim lønnummer As Integer lønnummer = InputBox(Prompt:="Oplys løn nr.", Title:="Test Løn registering") Range("B4").Value = lønnummer
' Spørg om grund Løn sats og skriv det i celle
Dim grundløn As Currency grundløn = InputBox(Prompt:="Hvad er din grundløn?.", Title:="Test Løn registering") Range("B7").Value = grundløn
' Spørg om Service tillæg og skriv det i celle
Dim servicetillæg As Currency servicetillæg = InputBox(Prompt:="Hvad er dit servicetillæg?", Title:="Test Løn registering") Range("B8").Value = servicetillæg
' Bekræft oplysninger Dim resultat resultat = MsgBox(Prompt:="Er oplysningerne korrekte? Navn: " & navn & " Lønnummer: " & lønnummer & " Uge: " & uge & " Grundløn: " & grundløn & " Servicetillæg: " & servicetillæg, Title:="Test Løn registering", Buttons:=vbYesNo + vbQuestion) If resultat = vbYes Then End If End Sub
Public Sub Auto_Open() With Worksheets("Ark1") ' ret til det arknavn, der skal indtastes på ' Spørg om navn og skriv det i celle If .Range("B3") = "" Then Dim navn As String navn = InputBox(Prompt:="Goddag, Angiv dit navn", Title:="Test Løn registering") .Range("B3").Value = navn Else navn = .Range("B3").Value End If
' Spørg om første uge og skriv det i celle If .Range("B5") = "" Then Dim uge As Integer uge = InputBox(Prompt:="Oplys lønperiodens første uge", Title:="Test Løn registering") .Range("B5").Value = uge Else uge = .Range("B5").Value End If
' Spørg om Løn nr. og skriv det i celle If .Range("B4") = "" Then Dim lønnummer As Integer lønnummer = InputBox(Prompt:="Oplys løn nr.", Title:="Test Løn registering") .Range("B4").Value = lønnummer Else lønnummer = .Range("B4").Value End If
' Spørg om grund Løn sats og skriv det i celle If .Range("B7") = "" Then Dim grundløn As Currency grundløn = InputBox(Prompt:="Hvad er din grundløn?.", Title:="Test Løn registering") .Range("B7").Value = grundløn Else grundløn = .Range("B7").Value End If
' Spørg om Service tillæg og skriv det i celle If .Range("B8") = "" Then Dim servicetillæg As Currency servicetillæg = InputBox(Prompt:="Hvad er dit servicetillæg?", Title:="Test Løn registering") .Range("B8").Value = servicetillæg Else servicetillæg = .Range("B8").Value End If
' Bekræft oplysninger kommer altid frem Dim resultat resultat = MsgBox(Prompt:="Er oplysningerne korrekte? Navn: " & navn & " Lønnummer: " & lønnummer & " Uge: " & uge & " Grundløn: " & grundløn & " Servicetillæg: " & servicetillæg, Title:="Test Løn registering", Buttons:=vbYesNo + vbQuestion) If resultat = vbYes Then Else .Range("B3:B8").ClearContents ' der svares nej, og alle data slettes Auto_Open ' kalder igen til ny indtastning End If End With End Sub
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.