Code:
For Each v In .Range("A2:A" & .Range("A" & Rows.Count).End(xlUp).Row)
Dit is een dynamisch bereik. Het bereik A2:A & het aantal gevulde rijen tellen van kolom A (bijv 59). Wordt het bereik A2:A59.
Zo kunnen dus meerdere zoekwaardes opgegeven worden...
Zal uitleggen hoe je een gegevensverbinding maakt.
1) Open bestand 'zoeken met betere code_v3'
2) Klik in je link op 'Gegevens'
3) Klik naast 'alles vernieuwen' op 'Verbindingen'
4) Klik op 'Toevoegen'
5) Klik op 'Blader naar meer' en zoek naar het bestand 'zoekmap' en dubbelklik hierop
6) Er opent een klein venstertje en zet het vinkje uit bij 'eerste regel zijn kolomkoppen' en klik op OK
7) Nu is er een bestandsverbinding.
8) Start de macrorecorder en klik in het lint weer op 'Gegevens'
9) Klik op 'Best. verbinden' en zoek in je lijst naar 'zoekmap' en klik op openen
10) Geef bij het bereik aan 'Blad3!A1' en klik op OK
11) Nu wordt het bestand geladen op Blad3 en zet je macro recorder uit.
Nu kun je de macro benoemen als zijnde update_zoekblad ofzo, maar let wel dat je bij deze macro 1st blad3 verwijderd en daarna een blad toevoegd eer er gegevens op geschreven worden.
Het komt er een beetje zo uit te zien
Code:
Sub update_zoekblad()
Sheets(3).Delete
Sheets.Add , Sheets(Sheets.Count)
With ActiveSheet.ListObjects.Add(SourceType:=0, Source:=Array( _
"OLEDB;Provider=Microsoft.ACE.OLEDB.12.0;Password="""";User ID=Admin;Data Source=C:\Documents and Settings\user\Bureaublad\zoekma" _
, "p.xlsx;Mode=Share Deny Write;Extended Properties=""HDR=YES;"";Jet OLEDB:System database="""";Jet OLEDB:Registry Path="""";Jet OLEDB:Da" _
, "tabase Password="""";Jet OLEDB:Engine Type=35;Jet OLEDB:Database Locking Mode=0;Jet OLEDB:Global Partial Bulk Ops=2;Jet OLEDB:Glob" _
, "al Bulk Transactions=1;Jet OLEDB:New Database Password="""";Jet OLEDB:Create System Database=False;Jet OLEDB:Encrypt Database=Fals" _
, "e;Jet OLEDB:Don't Copy Locale on Compact=False;Jet OLEDB:Compact Without Replica Repair=False;Jet OLEDB:SFP=False;Jet OLEDB:Supp" _
, "ort Complex Data=False;Jet OLEDB:Bypass UserInfo Validation=False"), Destination:=Range("$A$1")).QueryTable
.CommandType = xlCmdTable
.CommandText = Array("Blad1$")
.RowNumbers = False
.FillAdjacentFormulas = False
.PreserveFormatting = True
.RefreshOnFileOpen = False
.BackgroundQuery = True
.RefreshStyle = xlInsertDeleteCells
.SavePassword = False
.SaveData = True
.AdjustColumnWidth = True
.RefreshPeriod = 0
.PreserveColumnInfo = True
.SourceConnectionFile = _
"C:\Documents and Settings\user\Mijn documenten\Mijn gegevensbronnen\zoekmap Blad1$.odc"
.SourceDataFile = "C:\Documents and Settings\user\Bureaublad\zoekmap.xlsx"
.ListObject.DisplayName = "Tabel_zoekmap_Blad1__1"
.Refresh BackgroundQuery:=False
End With
End Sub
Succes