Avatar billede sjomka2001 Nybegynder
05. april 2010 - 17:39 Der er 6 kommentarer og
1 løsning

Kombination af 2 VBA'er

Jeg vil gerne have "lidt sjov", når en bruger åbner et regneark. Jeg har følgende 2 VBA'er, som jeg gerne vil have kombineret, således brugeren bydes velkommen på en lidt morsom måde, og derefter skal til at registrere data. Kan jeg gøre det i én macro?

FØRSTE VBA
Sub GreetMe()
Dim Msg As String
If Time < 0.5 Then Msg = "morgen"
If Time >= 0.5 And Time < 0.75 Then Msg = "eftermiddag"
If Time >= 0.75 Then Msg = "aften"
MsgBox "God " & Msg
Msg = "Er dit navn " & Application.UserName & "?"
Ans = MsgBox(Msg, vbYesNo)
If Ans = vbNo Then MsgBox "OK - give a shit anyway!"
If Ans = vbYes Then MsgBox "Jeg må være clairvoyant."
End Sub

ANDEN VBA
Sub Indtastningsskabelon()
Dim iResultat1
Dim iResultat2
Dim iResultat3
Dim iResultat4
Dim iResultat5
Dim iResultat6
Dim iResultat7
Dim iResultat8
Dim iSvar

Start:
If Range("A2").Value = "" Then
    Range("A2").Activate
Else
    Range("A2").CurrentRegion.Select
    ActiveCell.Offset(Selection.Rows.Count, 0).Activate
End If

Ansøger:
    iResultat1 = InputBox("Indtast medlem", "Medlem")
    If iResultat1 = vbChancel Then Exit Sub
   
Markblok:
    iResultat2 = InputBox("Indtast kategori", "Kategori")
    If iResultat2 = vbChancel Then Exit Sub

Marknummer:
    iResultat3 = InputBox("Indtast nummer", "Nummer")
    If iResultat3 = vbChancel Then Exit Sub

Rettighed:
    iResultat4 = InputBox("Indtast påstået", "Påstået")
    If iResultat4 = vbChancel Then Exit Sub

Anmeldt:
    iResultat5 = InputBox("Indtast faktisk", "faktisk")
    If iResultat5 = vbChancel Then Exit Sub

Opmålt:
    iResultat6 = InputBox("Indtast resultat", "Resultat")
    If iResultat6 = vbChancel Then Exit Sub

Bemærkning:
    iResultat7 = InputBox("Indtast bemærkninger", "Bemærkning")
    If iResultat7 = vbChancel Then Exit Sub

Konklusion:
    iResultat8 = InputBox("Indtast konklusion G eller F", "Konklusion")
    If iResultat8 = VbChancel Then Exit Sub

With ActiveCell
    .Offset(0, 0).Value = iResultat1
    .Offset(0, 1).Value = iResultat2
    .Offset(0, 2).Value = iResultat3
    .Offset(0, 3).Value = iResultat4
    .Offset(0, 4).Value = iResultat5
    .Offset(0, 5).Value = iResultat6
    .Offset(0, 7).Value = iResultat7
    .Offset(0, 8).Value = iResultat8
    End With
   
    iSvar = MsgBox("Vil du fortsætte?", vbYesNo)
    If iSvar = vbYes Then GoTo Start
   
End Sub


PS: Tak til store-morten for hjælp til den anden vba. Den første Vba kan jeg desværre ikke huske hvor jeg har fundet. Håber nogen kan hjælpe mig!
Avatar billede jokerper Nybegynder
05. april 2010 - 18:29 #1
Run "Indtastningsskabelon"
end sub

eller

call Indtastningsskabelon
end sub


I slutningen af din første kode- er det, det du mener???
Avatar billede store-morten Ekspert
05. april 2010 - 20:06 #2
Ved start at Indtadtningsskabelon.
Har tilføjet Time = Now

Sub Indtastningsskabelon()
Time = Now
Dim Msg As String
If Time < 0.5 Then Msg = "morgen"
If Time >= 0.5 And Time < 0.75 Then Msg = "eftermiddag"
If Time >= 0.75 Then Msg = "aften"
MsgBox "God " & Msg
Msg = "Er dit navn " & Application.UserName & "?"
Ans = MsgBox(Msg, vbYesNo)
If Ans = vbNo Then MsgBox "OK - give a shit anyway!"
If Ans = vbYes Then MsgBox "Jeg må være clairvoyant."

Dim iResultat1
Dim iResultat2
Dim iResultat3
Dim iResultat4
Dim iResultat5
Dim iResultat6
Dim iResultat7
Dim iResultat8
Dim iSvar

Start:
If Range("A2").Value = "" Then
    Range("A2").Activate
Else
    Range("A2").CurrentRegion.Select
    ActiveCell.Offset(Selection.Rows.Count, 0).Activate
End If

Ansøger:
    iResultat1 = InputBox("Indtast medlem", "Medlem")
    If iResultat1 = VbChancel Then Exit Sub
   
Markblok:
    iResultat2 = InputBox("Indtast kategori", "Kategori")
    If iResultat2 = VbChancel Then Exit Sub

Marknummer:
    iResultat3 = InputBox("Indtast nummer", "Nummer")
    If iResultat3 = VbChancel Then Exit Sub

Rettighed:
    iResultat4 = InputBox("Indtast påstået", "Påstået")
    If iResultat4 = VbChancel Then Exit Sub

Anmeldt:
    iResultat5 = InputBox("Indtast faktisk", "faktisk")
    If iResultat5 = VbChancel Then Exit Sub

Opmålt:
    iResultat6 = InputBox("Indtast resultat", "Resultat")
    If iResultat6 = VbChancel Then Exit Sub

Bemærkning:
    iResultat7 = InputBox("Indtast bemærkninger", "Bemærkning")
    If iResultat7 = VbChancel Then Exit Sub

Konklusion:
    iResultat8 = InputBox("Indtast konklusion G eller F", "Konklusion")
    If iResultat8 = VbChancel Then Exit Sub

With ActiveCell
    .Offset(0, 0).Value = iResultat1
    .Offset(0, 1).Value = iResultat2
    .Offset(0, 2).Value = iResultat3
    .Offset(0, 3).Value = iResultat4
    .Offset(0, 4).Value = iResultat5
    .Offset(0, 5).Value = iResultat6
    .Offset(0, 7).Value = iResultat7
    .Offset(0, 8).Value = iResultat8
    End With
   
    iSvar = MsgBox("Vil du fortsætte?", vbYesNo)
    If iSvar = vbYes Then GoTo Start
   
End Sub
Avatar billede store-morten Ekspert
05. april 2010 - 20:08 #3
Ved start af regnearket.
Indsættes i ThisWorkbook

Private Sub Workbook_Open()
Time = Now
Dim Msg As String
If Time < 0.5 Then Msg = "morgen"
If Time >= 0.5 And Time < 0.75 Then Msg = "eftermiddag"
If Time >= 0.75 Then Msg = "aften"
MsgBox "God " & Msg
Msg = "Er dit navn " & Application.UserName & "?"
Ans = MsgBox(Msg, vbYesNo)
If Ans = vbNo Then MsgBox "OK - give a shit anyway!"
If Ans = vbYes Then MsgBox "Jeg må være clairvoyant."
End Sub
Avatar billede store-morten Ekspert
02. juni 2010 - 19:46 #4
FAQ: Generel opførsel

Tjek din mail med jævne mellemrum, og gør det samme med dit spørgsmål. Hvis du stiller et spørgsmål, men ikke har tid til at læse svar i et stykke tid, så skriv det i indlægget, så folk ikke bliver sure over du ikke reagerer.
Avatar billede sjomka2001 Nybegynder
20. august 2010 - 18:09 #5
Sorry. Jeg har ikke haft mulighed for at checke før nu. Jeg undskylder mange gange. Håber det er OK?
Avatar billede sjomka2001 Nybegynder
07. oktober 2010 - 19:10 #6
Sorry mange gange

Har netop gennemgået alle mine indlæg, og så at jeg var kommet til at acceptere mit eget svar. Det var forkert! Hvordan giver jeg store-morten point for hans glimrende hjælp?
Avatar billede store-morten Ekspert
07. oktober 2010 - 19:18 #7
Du kan acceptere mit svar, og afvise dit eget:
Avatar billede Ny bruger Nybegynder

Din løsning...

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.

Loading billede Opret Preview
Kategori
Vi har et stort udvalg af Excel kurser. Find lige det kursus der passer dig lige her.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester