03. december 2007 - 10:49Der er
21 kommentarer og 1 løsning
Hente data fra eksterne XLS fil.
Hej eksperter,
Ved I hvordan jeg kan hente data (2 forskellige kolonner) fra en ekstern XLS fil over i mit eksiterende XLS fil, og så jeg samtidig kan få de hentede data ind i en dropdownliste?
Denne side indeholder artikler med forskellige perspektiver på Identity & Access Management i private og offentlige organisationer. Artiklerne behandler aktuelle IAM-emner og leveres af producenter, rådgivere og implementeringspartnere.
F.eks. at hvis der er nogle kunder der starter med DO kan man så få den til at opdatere dropdownlisten så den kun viser alle de kunder der starter med DO når man har skrevet DO i den celle der har GotFocus
Ok på den måde :-) så jeg skriver f.eks. DO i den første celle og hopper over i den anden celle med GotFocus hvor den så vil opdatere alle kunder der starter med DO... Pyyha den driller...
hvis celle L1 bliver markeret, opdatere listen, udfra det der står til i cellen til venstre (K1), altså K1 =a ---> alpha,alfred,anders i M1:M123, hvis K1 er tom vælges alle
Private Sub Worksheet_SelectionChange(ByVal Target As Range) Dim celle As String If Not Intersect(Target, Range("L1")) Is Nothing Then Application.ScreenUpdating = False
Filename = "test.xls" Set ws2 = ActiveSheet.Range("M1") Set wb1 = Workbooks.Open(Filename) num = Len(Target.Offset(0, -1).Value) t = 0 For Each c In wb1.Sheets("sheet1").Range("A2:A123") If Target.Offset(0, -1).Value = Left(c.Value, num) Then ws2.Offset(t, 0) = c t = t + 1 End If Next c For i = t To 123 ws2.Offset(i, 0) = "" Next i wb1.Close savechanges:=False Application.ScreenUpdating = True
Exit Sub fejl: MsgBox ("Liste kunne ikke opdateres") End If End Sub
Private Sub Worksheet_SelectionChange(ByVal Target As Range) Dim celle As String If Not Intersect(Target, Range("L1")) Is Nothing Then Application.ScreenUpdating = False
Filename = "test.xls" Set ws2 = ActiveSheet.Range("M1") Set wb1 = Workbooks.Open(Filename) num = Len(Target.Offset(0, -1).Value) t = 0 For Each c In wb1.Sheets("sheet1").Range("A2:A123") If UCase(Target.Offset(0, -1).Value) = UCase(Left(c.Value, num)) Then ws2.Offset(t, 0) = c t = t + 1 End If Next c For i = t To 123 ws2.Offset(i, 0) = "" Next i wb1.Close savechanges:=False Application.ScreenUpdating = True
Exit Sub fejl: MsgBox ("Liste kunne ikke opdateres") End If End Sub
Hej, mange tak :-) Når jeg sætter koden ind i et nyt modul og skal køre det kommer det op med et vindue hvor jeg kan lave en ny makro, ved ud hvad det kan være?
Hej igen :-) Jeg kom til at tænke på om man kan sortere de data som jeg får over i min dropdown-liste så de står i alfabetisk rækkefølge?
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.