Private Sub Worksheet_Change(ByVal Target As Range) On Error Resume Next Set fs = CreateObject("scripting.filesystemobject") If Target.Column = 1 And (Row <> Target.Row Or Column <> Target.Column) And fs.fileexists(ActiveWorkbook.Path & "\" & Target & ".xls") = True Then Row = Target.Row Column = Target.Column Cells(Target.Row, 2).Formula = "=[" & Target & ".xls]sheet1!b" & Target.Row Else Column = 0 Row = 0 End If End Sub
Forslag - koden anbringes i Ark1 i den fil, der skal modtage:
Dim xsti, antalRæk, xls, filNavn Sub hentFraFiler() Rem Hent aktuelle sti xsti = ActiveWorkbook.Path If Right(xsti, 1) <> "\" Then xsti = xsti + "\" End If
Rem find antal rækker antalRæk = ActiveCell.SpecialCells(xlLastCell).Row
Rem Gennemløb af kolonne A For ræk = 1 To antalRæk If Cells(ræk, 1) <> "" Then On Error GoTo fejl
Det er altid kolonne A, der bestemmer filnavnet på "ark2", dvs. hvorfra data hentes. Lad os tage eksemplet, at A1 = "sovs", dvs. der skal hentes data fra sovs.xls, sheet1.
I B1 skal der stå værdien af sovs.xls!sheet1!B39 I C1 skal der stå værdien af sovs.xls!sheet1!A21 ...osv.
Det er altid fra de samme celler i "ark2" at værdierne hentes.
Dim xsti, antalRæk, xls, filNavn Sub hentFraFiler() Rem Hent aktuelle sti xsti = ActiveWorkbook.Path If Right(xsti, 1) <> "\" Then xsti = xsti + "\" End If
Rem find antal rækker antalRæk = ActiveCell.SpecialCells(xlLastCell).Row
Rem Gennemløb af kolonne A For ræk = 1 To antalRæk If Cells(ræk, 1) <> "" Then On Error GoTo fejl
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.