Avatar billede jamark Praktikant
28. juni 2006 - 00:13 Der er 10 kommentarer og
1 løsning

Compile error med ".Sheets"

Jeg har forsøgt, at lave en funktion, der skulle indsætte det første ark fra en valgt fil til efter det tredje ark i det åbne regneark, men når jeg compiler, får jeg fejlbeskeden: "Compile error: Method or data member not found." og så er ".Sheets" (i sætningen "After:=Workbooks().Sheets(3)") markeret.

Er der nogen, der kan gennemskue den?

Her er koden

CbBrowse  CommandButton, der browser efter en fil, der skal indsættes
TbImport  TextBox, der indeholder stien på den fil, der skal indsættes
CbOk  CommandButton, som er en OK knap!

Private Sub CbBrowse_Click()
    fileToImport = Application.GetOpenFilename("Optimore Output Files (*.csv), *.csv", , "Import Optimore Output")
    TbImport.Value = fileToImport
End Sub

Private Sub CbOk_Click()
    Workbooks(TbImport.Value).Sheets(1).Copy After:=Workbooks().Sheets(3)
   
End Sub
Avatar billede excelent Ekspert
28. juni 2006 - 05:36 #1
prøv indsæt navn i Workbooks(????)

Workbooks(TbImport.Value).Sheets(1).Copy After:=Workbooks().Sheets(3)
Avatar billede jamark Praktikant
28. juni 2006 - 17:31 #2
Problemet er, at det skulle gerne være det aktuelle dokument uanset hvad det hedder. Kan man hente dokumentets navn og indsætte det?
Avatar billede excelent Ekspert
28. juni 2006 - 17:54 #3
umiddelbart tror jeg du kan nøjes med:

Workbooks(TbImport.Value).Sheets(1).Copy After:=Sheets(3)

ellers er der ActiveWorkbook.Sheet(3)
eller ThisWorkbook.Sheet(3)
Avatar billede jamark Praktikant
28. juni 2006 - 19:09 #4
Det giver mig fejlen:

Run-time error '9':

Subscript out of range
Avatar billede excelent Ekspert
28. juni 2006 - 19:23 #5
Workbooks(TbImport.Value).Sheets(1).Copy After:=ThisWorkbook.Sheets(3)

hvis den ikke virker, så prøv slet .Value i Workbooks(TbImport.Value)...
Avatar billede jamark Praktikant
28. juni 2006 - 19:34 #6
Hvis jeg sletter .Value, får jeg fejlen:

Run-time error '13':

Type mismatch
Avatar billede excelent Ekspert
28. juni 2006 - 20:02 #7
min test version ser således ud.

Private Sub CommandButton1_Click()
Workbooks("Align").Sheets(1).Copy After:=Workbooks("Mappe1").Sheets(3)
End Sub

jeg går ud fra at det er 2 forskellige Projektmapper, hvor du vil
kopiere et ark fra den ene til det andet som det sidste ark i rækken?
Avatar billede excelent Ekspert
28. juni 2006 - 20:56 #8
prøv om ikke denne virker som dine 2

Sub hent()
valg = Application.GetOpenFilename("Files (*.xls), *.xls")
Workbooks.Open Filename:=valg
navn = ActiveWorkbook.Name
Sheets(1).Copy After:=ThisWorkbook.Sheets(3)
Workbooks(navn).Close
End Sub
Avatar billede excelent Ekspert
02. juli 2006 - 08:51 #9
Sub hent()
valg = Application.GetOpenFilename("Files (*.csv), *.csv")
Workbooks.Open Filename:=valg
navn = ActiveWorkbook.Name
Sheets(1).Copy After:=ThisWorkbook.Sheets(3)
Workbooks(navn).Close
End Sub
Avatar billede jamark Praktikant
02. juli 2006 - 15:33 #10
Ups, havde helt glemt at afslutte. Hvis du smider et svar, giver jeg dig lige pointene på et tidspunkt, men jeg skal ud at rejse den næste måned, så det er ikke sikkert det sker med det samme.
Avatar billede excelent Ekspert
02. juli 2006 - 16:20 #11
ok
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
Kurser inden for grundlæggende programmering

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