13. februar 2009 - 14:01Der er
6 kommentarer og 1 løsning
Makro til Lopslag
Hej Eksperter
Jeg har brug for en makro, der udfra et tal i Arket "Makro" celle "E4" slå op i en tabelmatrix (Makro!G2:H41) - formlen ser sådan ud: LOPSLAG(Makro!E4;Makro!G2:H41;2)
Resultat som står i 2. kolonne er stiangivelsen til nogle andre projektmapper som gerne skal åbnes ved hjælp af makroen.
Jeg har pt. blot en formel der gør det samme, men kunne godt tænke mig en makroknap der gør det.
=HYPERLINK(LOPSLAG(Makro!E4;Makro!G2:H41;2);"Link til nyt ark")
Private Sub CommandButton1_Click() For Each c In Sheets("Makro").Range("g2:g3").Cells If c.Value = Sheets("Makro").Range("e4").Value Then Workbooks.Open c.Offset(0, 1) End If Next c End Sub
Fordusætter at nummeret i E4 kun findes én gang i din tabelmatrix. Findes det flere gange åbnes alle de tilhørende filer.
Det ønskede ark åbnes som det skal, men der kommer en Run-timer error '9': Subscript out of range hver gang. Hvis jeg vælger Debug, så kan jeg se at det er linien: If c.Value = Sheets("Makro").Range("e4").Value Then der er farvet gul.
Jeg har gjort følgende: Kopieret din kode ind i et nyt modul Slettet Private i starten af koden Ændret linie 2, så der står ...("g2:g41").Cells Tildelt makroen til min knap
Ændret til g2:g41 pga. tabellen der slås op i er større end de de felter som du skrev. Jeg har efterfølgende konstateret, at den ikke fejler, hvis det er projektmappen tilhørende det sidste opslag der åbnes. Dvs. projekt = g41. - Hvis jeg ændrer til g2:g20 så virker g20 uden fejl osv. Kan du gennemskue, hvorfor/hvad jeg skal gøre for at denne fejl ikke kommer.
Og ja, nummeret i E4 findes kun én gang i tabelmatrixen.
For Each c In Sheets("Makro").Range("g2:g43").Cells If c.Value = Sheets("Makro").Range("e4").Value Then Workbooks.Open c.Offset(0, 1) Exit Sub End If Next c
Send et svar - så får du dine point, uanset om du kan/vil svare på nedenstående eller ej.
Hvis du har et bud på årsagen til et følgeproblem, så modtager jeg gerne dette:
Når jeg bruger makroen, så åbnes pdf dokumenter ikke i adobe, men i Excel, og dermed er det ulæsbart. Hvis jeg bare bruger "min egen" funktion "Hyperlink(...)" så åbnes et pdf link i Adobe. Er der noget i makroen der kan ændres så det ikke er et problem?
Hvis det er et Adobe dokument, er ovenstående ikke praktisk, netop fordi den åbner dokumentet i Excel og ikek i den rigtige applikation.
Så er dette bedre:
For Each c In Sheets("Makro").Range("g2:g43").Cells If c.Value = Sheets("Makro").Range("e4").Value Then ActiveWorkbook.FollowHyperlink Address:=c.Offset(0, 1).Value, _ NewWindow:=True Exit Sub End If Next c
Da du i dit første indlæg skre,v at du havde projektmapper i kolonnen, gik jeg ud fra, at det var Excel.
Ovenstående giver til gengæld en advarsel, hvis det ikke er en pdf-fil.
Synes godt om
Ny brugerNybegynder
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.