Avatar billede svaage Nybegynder
16. maj 2003 - 15:03 Der er 18 kommentarer og
1 løsning

referencefejl når der hentes oplysninger i anden fil

Jeg har oprettet et ark hvor det skal være muligt at hente oplysninger fra andre filer. Jeg har gjort følgende

dette er stien til det dokument jeg ønsker at hente oplysniger fra:

C:\Documents and Settings\Sv@@ge\Dokumenter\Prøve\[Sv.xls]!a1

I arket har jeg brugt funktion INDIREKTE, linket til ovenstående sti

resultatet bliver en #REFERENCE! fejl, hvorfor det ?????

Jeg kan ikke gennemskue hvor jeg har gjort noget forkert
Avatar billede bak Forsker
16. maj 2003 - 15:55 #1
det er fordi INDIREKTE kun kan hente fra åbne regneark.
Skal du hente fra lukkede regneark så se spm.
http://www.eksperten.dk/spm/352109
Avatar billede svaage Nybegynder
16. maj 2003 - 16:54 #2
Det ovenstående spørgsmål kunne muligvis godt bruges, men er der ikke et problem, hvis du flytter filerne til en anden maskine, hvor stien til filerne ikke er den samme ????

Gurnden til at jeg ville gøre som ovenstående er at det kan give mig stien direkte fra det ark som oplysningerne skal hentes ind i, dat ark ligger i samme mappe som de filer der skal hentes fra
Avatar billede svaage Nybegynder
16. maj 2003 - 16:54 #3
kan man man få VBA til at læse stien i en celle i et ark ????
Avatar billede bak Forsker
16. maj 2003 - 17:30 #4
Ja
Avatar billede svaage Nybegynder
16. maj 2003 - 17:32 #5
hvad svare du ja til det ene eller det andet
hvis det er det andet så hvordan gør man det?????
Avatar billede bak Forsker
16. maj 2003 - 17:34 #6
Beklager det korte svar, men min browser har det med at gå ned :-(
sub test()
sti=range("a1")
Fil=range("a2")
Ark=range("a3")
Celle=range("A4")
Range("a5")=GetinfoFromClosedFile(Sti, Fil, Arl, Celle)
end sub



Private Function GetInfoFromClosedFile(ByVal wbPath As String, wbName As String, wsName As String, cellRef As String) As Variant
Dim arg As String
    GetInfoFromClosedFile = ""
    If Right(wbPath, 1) <> "\" Then wbPath = wbPath & "\"
    If Dir(wbPath & "\" & wbName) = "" Then Exit Function
    arg = "'" & wbPath & "[" & wbName & "]" & wsName & "'!" & Range(cellRef).Address(True, True, xlR1C1)
    On Error Resume Next
    GetInfoFromClosedFile = ExecuteExcel4Macro(arg)
End Function
Avatar billede svaage Nybegynder
16. maj 2003 - 17:42 #7
jeg har brugt det spm du forslog lidt tidligere, der i skal man angive stien hvor filerne ligger, kan man bruge ovenstående til at hente stien med og hvis ja, hvordan

Det er ikke godt med din browser, undskyld mit hastværk
Avatar billede bak Forsker
16. maj 2003 - 17:51 #8
Jeg er ikke helt klar over hvad duu mener, vil du bruge adressen fra dit spm til at hente med?
Prøv lige at teste det her, det har jeg ikke haft tid til selv at teste (græsslåning mv :-))

sub test()
fil = range("a1")
GetInfoFromClosedFile(fil)
end sub

Private Function GetInfoFromClosedFile(ByVal wbPath As String) As Variant
Dim arg As String
      GetInfoFromClosedFile = ExecuteExcel4Macro(wbPath)
End Function
Avatar billede svaage Nybegynder
16. maj 2003 - 18:17 #9
Jeg har brugt nedenstående script og det virker fint men, jeg kunne godt tænke mig at foldername ("C:\Documents and Settings\Sv@@ge\Dokumenter\Kirsebærhavens Skole\Prøve\" )kunne hentes direkte fra en celle i regnearket

Sub ReadDataFromAllWorkbooksInFolder()
Dim FolderName As String, wbName As String, r As Long, cValue As Variant
Dim wbList() As String, wbCount As Integer, i As Integer
    FolderName = "C:\Documents and Settings\Sv@@ge\Dokumenter\Kirsebærhavens Skole\Prøve\"
    ' create list of workbooks in foldername
    wbCount = 0
    wbName = Dir(FolderName & "\" & "*.xls")
    While wbName <> ""
        wbCount = wbCount + 1
        ReDim Preserve wbList(1 To wbCount)
        wbList(wbCount) = wbName
        wbName = Dir
    Wend
    If wbCount = 0 Then Exit Sub
    ' get values from each workbook
    r = 0
   
    For i = 1 To wbCount
        r = r + 1
        c1Value = GetInfoFromClosedFile(FolderName, wbList(i), "ark1", "A1")
        c2Value = GetInfoFromClosedFile(FolderName, wbList(i), "ark1", "A2")
        c3Value = GetInfoFromClosedFile(FolderName, wbList(i), "ark1", "A3")
        c4Value = GetInfoFromClosedFile(FolderName, wbList(i), "ark1", "A4")
       
        Cells(r, 1).Formula = wbList(i)
        Cells(r, 2).Formula = c1Value
        Cells(r, 3).Formula = c2Value
        Cells(r, 4).Formula = c3Value
        Cells(r, 5).Formula = c4Value
    Next i
End Sub

Private Function GetInfoFromClosedFile(ByVal wbPath As String, wbName As String, wsName As String, cellRef As String) As Variant
Dim arg As String
    GetInfoFromClosedFile = ""
    If Right(wbPath, 1) <> "\" Then wbPath = wbPath & "\"
    If Dir(wbPath & "\" & wbName) = "" Then Exit Function
    arg = "'" & wbPath & "[" & wbName & "]" & wsName & "'!" & Range(cellRef).Address(True, True, xlR1C1)
    On Error Resume Next
    GetInfoFromClosedFile = ExecuteExcel4Macro(arg)
End Function
Avatar billede bak Forsker
16. maj 2003 - 18:47 #10
Kan du ikke bare indsætte denne linie

Foldername=Sheets("Ark1").Range("A1")
i stedet for denne
FolderName = "C:\Documents and Settings\Sv@@ge\Dokumenter\Kirsebærhavens Skole\Prøve\"
Avatar billede svaage Nybegynder
16. maj 2003 - 20:07 #11
den virker umiddelbart ikke, omvendt kommer den heller ikke med nogen fejlmeddelelse, jeg prøver at teste lidt mere og vender tilbage i morgen
Avatar billede svaage Nybegynder
17. maj 2003 - 21:01 #12
hej bak kan du ikke lige smide et svar så du kan få nogle point ud af al det her arbejde :-)
Avatar billede svaage Nybegynder
17. maj 2003 - 21:11 #13
har testet din formel bak , kan dog ikke få den til at virke, tag points for dette spørgsmål så opretter jeg et spørgsmål med hensyn til problemet omkring foldername
Avatar billede bak Forsker
18. maj 2003 - 00:31 #14
Den virker skam fint :-)
Jeg skal ikke have points for noget du ikke kan få til at virke.
Har du brug for et eksempel ??, så smid din email-addr.
Avatar billede svaage Nybegynder
18. maj 2003 - 10:45 #15
jeg vil godt prøve med et eksempel, min e-mailadresse er markvark@post.tele.dk
Avatar billede svaage Nybegynder
18. maj 2003 - 10:45 #16
forkert e-mailadresse, vi prøver igen markvard@post.tele.dk
Avatar billede svaage Nybegynder
18. maj 2003 - 11:47 #17
jeg har testet vha dit tilsendte ark og tingene virker nu som de skal, tak for hjælpen.
Nu bliver du nødt til at lægge et svar så jeg kan give dig nogle point.

Hilsen Sv@@ge :-)
Avatar billede bak Forsker
18. maj 2003 - 12:31 #18
Svar :-)
Avatar billede svaage Nybegynder
18. maj 2003 - 12:33 #19
Endnu engang tak for hjælpen
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