Avatar billede johnfm Nybegynder
08. oktober 2003 - 20:34 Der er 13 kommentarer og
1 løsning

Fejl i Makro??

Jeg har ”lånt” en fil Opret flere Projektmapper på
Baks Excel hjemmeside.

Når jeg kører Makroen funger dennæsten, selv om den
kommer med en fejlmeddelelse i:
.Sheets(1).Name = matrix(1, X)

Jeg har sat en ny skabelon ind, men hvor er
fejlen i Makroen er der nogen der kan
hjælpe.

Her er makroen:

ub OpretMapper()
Application.ScreenUpdating = False
Application.Calculation = xlCalculationManual
Dim sti As String
Dim matrix As Variant
Dim StdWsh As Worksheet
Dim MedWsh As Worksheet
Dim X As Integer, Y As Integer
Dim Oldsheets As Integer
' sti = "C:\dokumenter\"
Set StdWsh = ThisWorkbook.Sheets("skabelon")
Set MedWsh = ThisWorkbook.Sheets("Medarbejdere")
Oldsheets = Application.SheetsInNewWorkbook
Application.SheetsInNewWorkbook = 1
matrix = MedWsh.UsedRange
For X = 1 To UBound(matrix, 2)
  Workbooks.Add
  With ActiveWorkbook
    .Sheets(1).Name = matrix(1, X)
    For Y = 2 To UBound(matrix, 1)
      If matrix(Y, X) = "" Then Exit For
      StdWsh.Copy After:=.Sheets(Y - 1)
      With ActiveSheet
        .Name = matrix(Y, X)
        .Range("D6") = matrix(Y, X)
      End With
  '.Sheets(1).Delete
    Next
  ' .SaveAs sti & matrix(1, X)
  ' .Close
  End With
Next
Application.SheetsInNewWorkbook = Oldsheets
Application.ScreenUpdating = True
Application.Calculation = xlCalculationAutomatic
End Sub

Johnfm
Avatar billede bak Forsker
08. oktober 2003 - 21:05 #1
Har du overskrifterne sat ind ?
(lige som i eksemplet)
Hvis ikke vil du få en fejl 1004 i pågældende linie
Avatar billede bak Forsker
08. oktober 2003 - 21:34 #2
"Fejlen" kan skyldes at makroen bruger UsedRange som udgangpunkt, dvs der må ikke være andet på arket end Overskrifter og arknavne.

Det kan ændres ved at ændre
matrix = MedWsh.UsedRange
til
matrix = MedWsh.range("A1").CurrentRegion

men der må ikke være data der støder op til.
Avatar billede johnfm Nybegynder
08. oktober 2003 - 21:36 #3
Hej bak

JA, jeg har overskriften sat ind lige som i dit eksempel.
Men når jeg prøver at køre Makroen i dit eksempel med
din Skabelon, får jeg også fejl 1004 i linie:

StdWsh.Copy After:=.Sheets(Y - 1)

Johnfm
Avatar billede bak Forsker
08. oktober 2003 - 21:45 #4
Jeg kan ikke lige fremprovokere de fejl.
hvilken excel bruger du?
Avatar billede johnfm Nybegynder
08. oktober 2003 - 21:59 #5
Nu køre Makroen fint og den opretter det ønskede antal projektmapper.
I hver Projektmappe er det enkelte Ark navngivet som det skal være.
Men navnet på Arket blive ikke skrevet ind i D6 i Arket?
Avatar billede johnfm Nybegynder
08. oktober 2003 - 22:00 #6
Excel fra Office XP
Avatar billede bak Forsker
08. oktober 2003 - 22:11 #7
I 1. ark skal den heller ikke sætte noget ind D6. (1. ark er faktisk bregnet til at blive slettet til sidst, men er nødvendig under oprettelsen)
Er det også galt med de næste ?
Avatar billede johnfm Nybegynder
08. oktober 2003 - 22:14 #8
Det er netop galt i alle Ark
Avatar billede bak Forsker
08. oktober 2003 - 22:18 #9
send lige til tommybak@netscape.net
Avatar billede johnfm Nybegynder
08. oktober 2003 - 22:28 #10
Der er sendt.
Avatar billede bak Forsker
08. oktober 2003 - 22:36 #11
Problemet er dine flettede celler.
Det gør at du ikke har en celle D6.
Skriv istedet C6.

flettede celler er en pestilens :-)
Avatar billede bak Forsker
08. oktober 2003 - 22:42 #12
Istedet for at flette celler så brug "Centrer over markering".
Du finder den under Formater-celler-fanebladet justering.
under overskrifter "Vandret" ruller du til nederst i comboboxen
Avatar billede johnfm Nybegynder
08. oktober 2003 - 22:58 #13
Nu viker det perfekt, TAK.
Her er lidt point.
Avatar billede johnfm Nybegynder
08. oktober 2003 - 22:58 #14
der skal stå virker.
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