11. december 2009 - 14:56Der 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.
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
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?
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
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
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
Synes godt om
Ny brugerNybegynder
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.