21. juni 2017 - 18:12
Der er
13 kommentarer og 1 løsning
Gammel excel makro skal oversættes til ny
Har en makro som jeg er meget glad for - har skiftet til excel 2010, og nu virker den ikke - første gang den går i stå er ved denne linie: Sheets(arkNavn).Copy After:=Sheets(1) Nogen der ved hvad jeg skal oversætte det til?? (der kommer sikkert mange flere, men lige her går jeg i stå første gang)
Annonceindlæg fra Trustworks
Tillid i en Zero-Trust verden
Med voksende trusler, nye EU-krav og øget kompleksitet er cybersikkerhed nu en central ledelsesopgave på linje med strategi og økonomi.
er det ikke blot gåseøjne du mangler (virker i xl2016) Sheets("arkNavn").Copy After:=Sheets(1)
Synes godt om
1 synes godt om dette
Det hjalp ikke :-( Men tak for forsøget Det kommer i denne sammenhæng: Sub Basisside() Sheets(arkNavn).Copy After:=Sheets(1) Sheets(2).Select Sheets(2).Name = "Basisoplysning" Range(Cells(1, 1), Cells(DatoRk - 2, 1)).Select Selection.EntireRow.Hidden = True Range(Cells(VareStartRk - 3, 1), Cells(VareSlutRk, 1)).Select Selection.EntireRow.Hidden = True Range(Cells(sidsteRk, 1), Cells(CCRk + 3, 1)).Select Selection.EntireRow.Hidden = True Range(Cells(EmbAfsnitRk - 3, 1), Cells(KommisRk + 1, 1)).Select Selection.EntireRow.Hidden = True og så en masse herefter.
tænker den "bare" skal lave en kopi af fanebladet, som den arbejder videre i, samtidig med at den beholder det "gamle" regneark....
arknavn er det noget du har skrevet ellers se på fanen hvad arket hedder? ellers skal det måske være: Sub Basisside() Sheets(1).Copy After:=Sheets(1) eller Sub Basisside() Activesheet.Copy After:=Sheets(1) Jan
Synes godt om
1 synes godt om dette
Nu ved jeg arket hedder factuur, så nu har jeg forsøgt dette: men går så i stå ved: Range(Cells(1, 1), Cells(DatoRk - 2, 1)).Select Vil virkelig værdsætte lidt hjælp :-) Sub Basisside() Sheets("factuur").Copy After:=Sheets(1) Sheets(2).Select Sheets(2).Name = "Basisoplysning" Range(Cells(1, 1), Cells(DatoRk - 2, 1)).Select Selection.EntireRow.Hidden = True Range(Cells(VareStartRk - 3, 1), Cells(VareSlutRk, 1)).Select Selection.EntireRow.Hidden = True Range(Cells(sidsteRk, 1), Cells(CCRk + 3, 1)).Select Selection.EntireRow.Hidden = True Range(Cells(EmbAfsnitRk - 3, 1), Cells(KommisRk + 1, 1)).Select Selection.EntireRow.Hidden = True If EmballOmkostnRk Then
DatoRk er en Variabel som skal have en værdi, hold musen over DatoRk når den stopper og se om den har værdi, den må være sat et eller andet sted. lige så med de øvrige variable. Jan
Sheets(arkNavn ).Copy After:=Sheets(1) Range(Cells(1, 1), Cells(DatoRk - 2, 1)).Select Indeholder variabler, som burde kommer fra kode mellem: Sub Basisside() 'mangler der ikke kode her? Sheets(arkNavn ).Copy After:=Sheets(1) Gætter på der mangler: Dim arkNavn Dim DatoRk Prøv at vise hele koden.
Store-Morten det kan også ligge en anden sub hvor de bliver sat og de er globale variable. Jan
Synes godt om
2 synes godt om dette
Havde overset #6 inden jeg postede #7
23. juni 2017 - 14:43
#10
Så kører du, husk at lukke spørgsmålet. Jan
23. juni 2017 - 15:12
#11
HejJan Har i løst problemet uden om denne tråd, så offentliggør venligst løsningen her, så vi andre kan se den :-)
23. juni 2017 - 15:24
#12
Sorry Morten Det var en mægtig stor mængde kode, hvor ham der havde lavet den ,havde lavet en del sub's, som burde have været private, så hun havde valgt en underliggende sub, som var afhængig af overliggende sub's Var ude for noget mystisk, en xls fil med macroer i, mon den er omdøbt efter den er lavet? Den var også uden synlige faneblade, det synes jeg også var mystisk. Jan
23. juni 2017 - 16:39
#13
Øh...hvordan lukker man spørgsmålet ?
23. juni 2017 - 16:53
#14
Vælg en som løsning
Excel kurser for alle niveauer og behov – find det kursus, der passer til dig