Avatar billede Slettet bruger
31. januar 2007 - 09:51 Der er 4 kommentarer og
1 løsning

VBA kode der skal forkortes

Er der nogen der kan give en hånd med at forkorte nedenstående kode, så den ikke er så stor ud.

Sub S_V_Outlook_MANDAG()
Dim VHT1 As String
Dim VHT2 As String
Dim VHT3 As String
Dim VHT4 As String
Dim VHT5 As String
Dim VHT6 As String
Dim VHT7 As String
Dim VHT8 As String
Dim VHT9 As String
Dim EM1 As String
Dim EM2 As String
Dim EM3 As String
Dim EM4 As String
Dim EM5 As String
Dim EM6 As String
Dim EM7 As String
Dim EM8 As String
Dim EM9 As String
Dim PF1 As String
Dim PF2 As String
Dim PF3 As String
Dim PF4 As String
Dim PF5 As String
Dim PF6 As String
Dim PF7 As String
Dim PF8 As String
Dim PF9 As String

Dim sh As Worksheet
Dim olApp As Outlook.Application
Dim olNewMail As Outlook.MailItem

On Error Resume Next

Set sh = Worksheets("Email")
For Each C In Selection
Set olApp = New Outlook.Application
Set olNewMail = CreateItem(olMailItem)

VHT1 = sh.Range("MANF1").Value
VHT2 = sh.Range("MANF2").Value
VHT3 = sh.Range("MANF3").Value
VHT4 = sh.Range("MANF4").Value
VHT5 = sh.Range("MANF5").Value
VHT6 = sh.Range("MANF6").Value
VHT7 = sh.Range("MANF7").Value
VHT8 = sh.Range("MANF8").Value
VHT9 = sh.Range("MANF9").Value
EM1 = sh.Range("MANE1").Value
EM2 = sh.Range("MANE2").Value
EM3 = sh.Range("MANE3").Value
EM4 = sh.Range("MANE4").Value
EM5 = sh.Range("MANE5").Value
EM6 = sh.Range("MANE6").Value
EM7 = sh.Range("MANE7").Value
EM8 = sh.Range("MANE8").Value
EM9 = sh.Range("MANE9").Value
PF1 = sh.Range("MPF1").Value
PF2 = sh.Range("MPF2").Value
PF3 = sh.Range("MPF3").Value
PF4 = sh.Range("MPF4").Value
PF5 = sh.Range("MPF5").Value
PF6 = sh.Range("MPF6").Value
PF7 = sh.Range("MPF7").Value
PF8 = sh.Range("MPF8").Value
PF9 = sh.Range("MPF9").Value


With olNewMail
    .Recipients.Add EM1 & ";" & EM2 & ";" & EM3 & ";" & EM4 & ";" & EM5 & ";" & EM6 & ";" & EM7 & ";" & EM8 & ";" & EM9
    '.CC = ""
    '.BCC = ""
    .Subject = "Oplagsfiler"
'    .Body = ""
    .Attachments.Add VHT1
    .Attachments.Add VHT2
    .Attachments.Add VHT3
    .Attachments.Add VHT4
    .Attachments.Add VHT5
    .Attachments.Add VHT6
    .Attachments.Add VHT7
    .Attachments.Add VHT8
    .Attachments.Add VHT9
    .Save
    .Display
'    .send
End With

Set olNewMail = Nothing
Set olApp = Nothing
Next C
End Sub
Avatar billede kabbak Professor
31. januar 2007 - 17:34 #1
Prøv at teste denne

Sub S_V_Outlook_MANDAG()
    Dim VTH(9) As String, EM(9) As String, PF(9) As String, I As Integer
    Dim sh As Worksheet
    Dim olApp As Outlook.Application
    Dim olNewMail As Outlook.MailItem
    On Error Resume Next

    Set sh = Worksheets("Email")
    For Each C In Selection
        Set olApp = New Outlook.Application
        Set olNewMail = CreateItem(olMailItem)
        For I = 1 To 9
            VHT(I) = sh.Range("MANF" & I).Value
            EM(I) = sh.Range("MANE" & I).Value
            PF(I) = sh.Range("MPF" & I).Value
        Next


        With olNewMail
            .Recipients.Add EM(1) & ";" & EM(2) & ";" & EM(3) & ";" & EM(4) & ";" & EM(5) _
                          & ";" & EM(6) & ";" & EM(7) & ";" & EM(8) & ";" & EM(9)
            '.CC = ""
            '.BCC = ""
            .Subject = "Oplagsfiler"
            '    .Body = ""
            For I = 1 To 9
                .Attachments.Add VHT(I)
            Next
            .Save
            .Display
            '    .send
        End With

        Set olNewMail = Nothing
        Set olApp = Nothing
    Next C
End Sub
Avatar billede Slettet bruger
01. februar 2007 - 09:49 #2
Den giver mig "Compile error: Sub or Function nor defined"
Avatar billede kabbak Professor
01. februar 2007 - 19:59 #3
ret
Dim VTH(9)
til
Dim VHT(9)
Avatar billede Slettet bruger
05. februar 2007 - 13:03 #4
Kabbak, smid et svar!

Tænk at jeg ikke engang kunne se at det var en tastefejl :o)
Avatar billede kabbak Professor
05. februar 2007 - 13:13 #5
et svar ;-))
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
Excel kurser for alle niveauer og behov – find det kursus, der passer til dig

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