Avatar billede djaper Praktikant
11. december 2009 - 14:56 Der er 9 kommentarer og
1 løsning

kopier tekst fra projektmappe til projektmappe

Hej

Jeg har en masse databasefiler der hedder eks. Annanas, banna, citrus, etc. Det er ikke et stationært antal filer. Der kommer hele tiden flere til.
Jeg har en fil med en liste der indholde dele af de andre filer.

I listefilen ønsker jeg f.eks. at hente navne, adresser, etc. fra databasefilerne.

I listefilen I celle A10 ønsker jeg at kunne skrive filnavnet: bannan.xlsm. I celle B10 skal den så hente information fra celle A10 og levere informationerne fra celle A152 i bannafilen. Normalt kan man gøre det ved selv at lave en henvisning:

='"A152"'!banna

men det er jo det samme som at kopier informationerne frem og tilbage.

Jeg håber at det er forståeligt. Eller må jeg prøve at omformulere det.

Djasper
Avatar billede excelent Ekspert
12. december 2009 - 09:16 #1
ret sti og ark navn i linie 3 til aktuel

Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, Range("A10")) Is Nothing Then Exit Sub
Range("B10").Formula = "='C:\Users\pm\Desktop\[" & Range("A10").Value & "]Ark1'!$A$152"
End Sub
Avatar billede excelent Ekspert
12. december 2009 - 09:18 #2
obs kode indsættes i arkets kodemodul
Avatar billede djaper Praktikant
14. december 2009 - 11:15 #3
Hej Excelent

Jeg har prøvet at kopier alle fire liner ind i VBA - dog uden held.
Jeg forstå egentlig godt koden i det du skriver. Men kan ikke få det til at fungere. Det er mange år siden jeg sidst har rodet med koder og aldrig med VBA.

Skal jeg oprette det som en makro eller hvordan. har prøvet som nedenstående:

Sub hent()

If Intersect(Target, Range("A10")) Is Nothing Then Exit Sub
Range("B10").Formula = "='C:\Documents and Settings\jpm\Skrivebord\ [" & Range("A10").Value & "]Ark1'!$A$152"
End Sub

Hvis jeg laver en makro som ovenstående viser den ordet bannan når jeg stiller musepilen over "Range" men den kommer også med en fejlmeddelese:

Runtime error 424, object requied.

Har prøvet at læse i hjælp med forstår det ikke helt.

Håber du kan hjælpe.

ps. Kender du nogle steder hvor man kan tage i kursus i VBA til excel?

djasper
Avatar billede djaper Praktikant
14. december 2009 - 13:35 #4
Ups - har nu skrevet det ind i ark1's code. Men det hjælper stadig ikke. nu får jeg dog ingen fejlmelding.

Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, Range("A10")) Is Nothing Then Exit Sub
Range("B10").Formula = "='C:\Documents and Settings\jpm\Skrivebord\ [" & Range("A10").Value & "]Ark1'!$A$152"
End Sub

djasper
Avatar billede excelent Ekspert
14. december 2009 - 19:04 #5
Har du husket at rette stien og evt. arknavn til aktuel
Avatar billede djaper Praktikant
14. december 2009 - 20:45 #6
Jeg har ikke givet arket noget nyt navn. Og stien er som jeg har skrevet oppe over. Så det er ikke det:-(
Avatar billede djaper Praktikant
15. december 2009 - 15:54 #7
Nu virker det. Jeg havde glemt at mine sikkerhedsinstillinger ikke var indstillet ordentlig.

Så nu kan jeg nørde lidt videre med at få det til at virke i hele arket.

Djaper
Avatar billede excelent Ekspert
15. december 2009 - 16:46 #8
Husk kun lægge en kommentar, - svar anvendes når der er fundet en løsning

Hvordan mener du -virke i hele arket ?
Avatar billede djaper Praktikant
15. december 2009 - 20:54 #9
Det må du undskylde jeg er ny i dette forum:-) Og hvordan giver jeg point til dig for dit svar?

Jeg har lavet det sådan, at den henter adresse, firma, by, telefon, etc. fra den anden fil. Men jeg er ikke nået længere end at få den til at gøre det for række 10. Men jeg vil gerne have det til at virke for hele kolonne A. Således at jeg i den nederst tomme række i A kollonnen blot behøver at skrive filnavnet på den fil jeg vil impotere informationer fra.

Private Sub Worksheet_Change(ByVal Target As Range)
    If Intersect(Target, Range("A10")) Is Nothing Then Exit Sub
    Range("B10").Formula = "='C:\Documents and Settings\jpm\Skrivebord\[" & Range("A10").Value & "]Ark1'!$B$2"
    Range("C10").Formula = "='C:\Documents and Settings\jpm\Skrivebord\[" & Range("A10").Value & "]Ark1'!$B$3"
    Range("D10").Formula = "='C:\Documents and Settings\jpm\Skrivebord\[" & Range("A10").Value & "]Ark1'!$B$4"
    Range("E10").Formula = "='C:\Documents and Settings\jpm\Skrivebord\[" & Range("A10").Value & "]Ark1'!$B$5"
    Range("F10").Formula = "='C:\Documents and Settings\jpm\Skrivebord\[" & Range("A10").Value & "]Ark1'!$B$6"
End Sub

Endnu engang mange tak for hjælpen.
Avatar billede excelent Ekspert
16. december 2009 - 19:49 #10
Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, Range("A:A")) Is Nothing Then Exit Sub
sti "='C:\Documents and Settings\jpm\Skrivebord\["
Target.Offset(0, 1).Formula = sti & Target.Value & "]Ark1'!$B$2"
Target.Offset(0, 2).Formula = sti & Target.Value & "]Ark1'!$B$3"
Target.Offset(0, 3).Formula = sti & Target.Value & "]Ark1'!$B$4"
Target.Offset(0, 4).Formula = sti & Target.Value & "]Ark1'!$B$5"
Target.Offset(0, 5).Formula = sti & Target.Value & "]Ark1'!$B$6"
End Sub
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