Just nu i M3-nätverket
Gå till innehåll

MvS

Medlem
  • Antal inlägg

    112
  • Gick med

  • Senaste besök

  1. Hittade lösningen själv! Bara att lägga till On Error Resume Next Fixat!
  2. 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...
  3. Tack alla för intressanta svar! Jag har efter att tagit del av era tips kommit till insikt att detta är ett företag som kommer att ta mer tid och kraft än vad som nyttan kommer att ge så jag lägger helt enkelt ner just denna ambition!
  4. Tack för tipset men det funkade inte heller. Bland annat så finns överhuvudtaget inte alternativet Klistra in bildlänk så länge man står i tabellen, endast om jag väljer en cell utanför tabellstrukturen! Då jag i alla fall prövar det senare (dvs klistra in bildlänk utanför tabellstrukturen) och sen ska ange t ex =pdf i formulärfältet så blir resultatet Ogiltig Referens! Jag börjar misströsta om att detta är ens möjligt med så pass många tabeller jag har i arbetsboken...
  5. Hej alla Excelfantaster! Jag har ett lite klurigt problem som jag undrar om någon kan lista ut hur man ska gå tillväga för att lösa. Har en arbetsbok med förteckning över en mängd olika dokument sorterade på år de skapats. Årtalen är på 21 separata flikar (1998 - 2018). Som en liten finess hade jag tänkt att en ikon på filändelsen visas efter varje dokument beroende på vilket filformat det handlar om; Är det en t ex pdf-fil ska en pdf ikon visas och om det är en Word-fil ska en Word-ikon dyka upp etc. Det handlar om inalles 13 olika dokumenttyper som jag vill ska automatisk tilldelas en liten ikonbild och eftersom detta ska vara ett levande dokument kommer filerna att ändras successivt varför jag då vill att Excel uppdaterar med rätt ikon om och när en post uppdateras! Jag har själv kommit så långt att jag lagt alla 13 ikonerna på en separat flik samt namngett dem i namnhanteraren. Har också skapat en namnrymd åt "Ikoner" med värdet INDIREKT + årtal (fliknamn) samt tabellkolumn (t ex =INDIREKT(2018![Filtyp]) ) men det fungerar inte! Någon som har en Quick-Fix till detta lilla problem?
  6. Tack för svar! Jag har prövat det mesta inklusive de tips du kommer med men utan framgång... När jag gjort föreslagna ändringar så antingen skapas ingen tidstämpel alls eller så skapas en men med dialogrutan "Ogiltigt proceduranrop..." som pop-up!
  7. Hej! Tack för svar. Ja, jag har testat olika varianter inklusive att ta bort "Private"...
  8. Jag har en matrikel där jag har infogat en tidstämpelfunktion som har funkat hyggligt men nu krånglar. Har prövat lite olika varianter men får vid varje uppdatering upp en dialogruta med "Ogiltigt proceduranrop eller argument". (Se bifogad bild.) Det är ett enkelt skript men jag blir inte klok på vad som felas - någon som vet bättre än mig? Bifogar skriptet som txt-fil! VBA Timestamp.txt Infogar texten direkt, förenklar kanske lite: Private Sub Worksheet_Change(ByVal Target As Range) Call Modul1.TaBortSkydd Application.EnableEvents = False ActiveSheet.ListObjects("Tabell2").Range.Select With Selection If Target.Column <= 13 Or Target.Column >= 15 Then Range("N" & Target.row).Value = Date End If End With Application.EnableEvents = True Call Modul1.Skydd End Sub /Mikael63, moderator
  9. Tack för din hjälp! Jag tar som sagt tacksamt emot hjälp som kan lösa detta lilla problem. Även om just nuvarande ändamål kanske inte har så hög prioritet så "samlar" jag på användbara VBA-skript och den vägen försöker lära mig kodning genom att stöta och blöta olika "kvistigheter" som kan uppstå i applicerandet av dessa skript. Du har i detta varit till stor hjälp både nu och tidigare och det ska du ha en eloge för! En liten följdfråga bara: Varför måste skriptet först skapa nya bladflikar i arbetsboken för att sedan exportera till en extern .txt-fil? Känns spontant lite som att gå över ån efter vatten s.a.s.! Jag har som sagt Googlat runt och hittat ett antal mer eller mindre komplicerade varianter som skapar txt-filen direkt. Jag kan dock inte modifiera dessa till just mitt behov då jag inte förstår VBA tillräckligt bra. //Magnus
  10. Jag beskrev nog lite dåligt vad jag var ute efter. Grejen är att jag skulle bara vilja exportera innehållet i kolumn A och J i Tabell2 till en .txt-fil. I det skript exemplet du (så välvilligt) bifogade skapas nya (tomma) bladflikar i min arbetsbok. Jag spårade det till sekvensen "Set sh = ThisWorkbook.Worksheets.Add" och detta upphör om jag kommenterar denna rad. Sedan undrar jag lite över sekvenserna "Me.Cells(1, 10)" då verkar lägga till ett löpnummer i filnamnet som jag inte behöver... Med detta sagt vill jag i alla fall tacka dig storligen för att du tar dig tid med mitt bagatellartade lilla problem!
  11. Jag knotar på och har kommit så långt att det handlade om ett dokumentskydd jag hade aktivt! I ditt exempel hade du kolumnerna i Tabell1 och du kallade dina exportkolumner för "ID" och "Annat". Detta har jag nu ändrat till min "Tabell2" samt mina kolumners namn ("Namn" i A-kolumnen samt "Email" i J-kolumnen) för att anpassa skriptet. Jag har även anpassat filnamn och sökväg för exporten och nu kör skriptet visserligen en export men innehållet i den exporterade txt-filen är oläsligt! (Se bild) Kan detta ha att göra med kolumnhänvisningen i skriptet? Vad syftar tex "Me.Cells(1, 10) + 1", "sh.Cells(1, 1)" och "sh.Cells(1, 2)" på - bör jag ändra dessa cellreferenser också? Export output:
  12. Jepp! Har kopierat direkt från din fil. Jag har Office 2013...
  13. Det var kopplat till ett annat makro... Men detta är den senaste varningen som kommer nu när jag lagt ditt makro under Blad1 och försöker köra det:
  14. Jag Insåg att detta berodde just på att jag lagt det i modul ist.f. i det aktiva bladet...! Men nu får jag istället denna varningsruta:
  15. Hej! Stort tack för ditt förslag men det verkar som om makrot inte fungerar... Får en varning om "Me."-variabeln enligt följande: //Magnus
×