Avatar billede oyejo Nybegynder
20. maj 2003 - 16:29 Der er 12 kommentarer og
1 løsning

VBA, hente en verdi fra et annet regneark

Koden nedenfor henter en verdi fra den exelfilen som makroen er laget i.

Workbooks("sakData.xls").Sheets"Oversikt").Name
= Format(ThisWorkbook.Sheets(1).Range"a2").Value,
"dd.mm.yyyy")

Hvordan kan jeg hente denne verdien fra en annen exelfil med flere ark?

Får ikke ThisWorkbook til å fungere.
Avatar billede jkrons Professor
20. maj 2003 - 16:52 #1
Denne kode henter værdien fra celle A1 i Ark1 i filen ID.XLS, der er gemt i C:\Dokumenter og indsætter denne værdi i celle B2 i Ark2 i den mappe, hvor koden ligger.

Sub HentFraAndenMappe()
    Workbooks.Open "c:\dokumenter\id.xls"
    ThisWorkbook.Sheets("ark2").Range("b2").Value _
        = ActiveWorkbook.Sheets("ark1").Range("a1").Value
    ActiveWorkbook.Close
End Sub
Avatar billede oyejo Nybegynder
20. maj 2003 - 19:56 #2
jeg har makroen i regnearkfil, skal hente verdien fra en annen regnearkfil. Denne verdien skal være navnet på en arkfane i et tredje regneark.
:-)
Avatar billede jkrons Professor
20. maj 2003 - 19:58 #3
Mener du, at den værdi du skal hente, skal være den tekst, der står i den trejde arkfane?
Avatar billede jkrons Professor
20. maj 2003 - 20:01 #4
Så prøv denne. Den skriver navnet fra trejde arkfane i id.xls i b2 i ark2 i den aktive mappe (altså den mappe hvor makroen er).

Sub HentFraAndenMappe()
    Workbooks.Open "c:\dokumenter\id.xls"
    ThisWorkbook.Sheets("ark2").Range("b2").Value _
        = ActiveWorkbook.Sheets(3).Name
    ActiveWorkbook.Close
End Sub

Hvis du ikke er det, du mener, kan du så ikke prøve at forklare det igen?
Avatar billede oyejo Nybegynder
20. maj 2003 - 20:49 #5
Den skal hente verdien fra en tredje exelfil. Jeg tror ikke det går å benytte ThisWorkbook....uttrykket.
Avatar billede oyejo Nybegynder
20. maj 2003 - 20:53 #6
Filen med makroer inneholder bare makroer, ingen data.
De andre filene inneholder ingen makroer eller VBA-kode
Avatar billede jkrons Professor
20. maj 2003 - 21:04 #7
Lad mig spørge om jeg har forstået det rigtigt? Du har en makro i en fil, som skal hente navnet på et faneblad i en anden fil (hvilket faneblad?) og gemme det i en celle i en tredje fil (hvilket ark, hvilken celle)?
Avatar billede jkrons Professor
20. maj 2003 - 23:01 #8
Denne makro (som kan ligge hvor som helst) henter navnet på de første faneblad i Excel filen a.xls og skriver dette navn i celle A1 i Ark1 i filen b.xls.

Sub HentFraAndenMappe()
    Workbooks.Open "c:\dokumenter\a.xls"
    strname = ActiveWorkbook.Sheets(1).Name
    ActiveWorkbook.Close
    Workbooks.Open "c:\dokumenter\b.xls"
    ActiveWorkbook.Sheets(1).Range("a1").Value = strname
    ActiveWorkbook.Save
    ActiveWorkbook.Close
End Sub


Jeg håber at det er dette du ønsker.
Avatar billede oyejo Nybegynder
21. maj 2003 - 07:27 #9
JKRONS, beklager at jeg har formulert meg så uklart. Men formålet er å gi fanebladet et navn. Navnet blir hentet i en Celle i en annen regnearkfil. Jeg tror det må bli det motsatte av ditt siste svar. Verdien som blir hentet i er en dato. Jeg ønsker at fanebladet skal ha dato av formatet. "mmm.yyyy" 
Håper du har litt tålmodighet med meg :-)
Avatar billede jkrons Professor
21. maj 2003 - 15:10 #10
Prøv med

Sub navngivark()
    Dim strname As String
    Workbooks.Open "c:\dokumenter\a.xls"
    strname = ActiveWorkbook.Sheets(1).Range("b1").Value
    ActiveWorkbook.Close
    strname = Format(strname, "mmm.yyyy")
    Debug.Print strname
    Workbooks.Open "c:\dokumenter\b.xls"
    ActiveWorkbook.Sheets(1).Name = strname
    ActiveWorkbook.Save
    ActiveWorkbook.Close
End Sub
Avatar billede jkrons Professor
21. maj 2003 - 15:11 #11
Fjern debug.print linien
Avatar billede oyejo Nybegynder
21. maj 2003 - 15:40 #12
Hei jkrons:-)
Nå fungerte det helt utmerket
Takker så mye for din tålmodighet.
Øyvind
Avatar billede jkrons Professor
21. maj 2003 - 16:25 #13
Hej Øyvind - Velbekomme! Tak for point.
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