Hej alla Excelkunniga!
Har ett problem jag inte kan förstå hur det ska lösas. Har gjort en inventeringslista i Excel som jag vill kunna skriva ut etiketter på olika poster. Etiketterna kan ha tre olika symboler (bilder) i sig beroende på om posten skapades före ett visst årtal, mellan två år eller efter ett tredje årtal. Så jag har skapat tre wordmallar som jag vill anropa vid etikettutskrift från min Excelfil. Har snokat runt webben och landat i ett VBA-skript som verkade kunna göra jobbet. Jag har med mina något rudimentära kunskaper i VBA försökt anpassa skriptet att öppna beroende på vad man anger via en combobox: Före 1994, mellan 1994-2011 samt efter 2011.
Jag har använt case-anrop för kommandona (se skript nedan) men när jag försöker köra det så öppnar Excel visserligen rätt Worddokument men skriptet stannar sedan och felmeddelande visas:
Har prövat att modda skriptet på olika sätt, googlat efter lösning på problemet men inte lyckats finna vad som fattas. Nu står mitt sista hopp till om någon VBA-kunnig på Eforum kan hjälpa mig.
Sub Etiketter()
Call TaBortSkydd
Dim ws As Worksheet
Dim Opt As Integer, Result As Action
Dim objWord As Object
Set ws = ActiveSheet
Opt = ws.Range("$O$1").Value
Set objWord = CreateObject("Word.Application")
objWord.Visible = True
Select Case Opt
Case Is = 1
Result = objWord.Documents.Open(Application.ActiveWorkbook.Path & "\Etiketter_1.docx")
Case Is = 2
Result = objWord.Documents.Open(Application.ActiveWorkbook.Path & "\Etiketter_2.docx")
Case Is = 3
Result = objWord.Documents.Open(Application.ActiveWorkbook.Path & "\Etiketter_3.docx")
End Select
ws.Range("$O$1").ClearContents
Call Workbook_RefreshAll
Call SkyddaBlad
End Sub
Med hopp om räddning...
↧