Hoi,
Ik ben redelijk nieuw in vba maar ben toch al aardig aan het stoeien geweest.
Wat ik graag wil is een macro die een excel bestand inleest. Uit dit bestand moeten dan bepaalde kolommen gekopieerd worden (dit zijn altijd vaste kolommen (A, C, D, E)).
Als deze kolommen ingelezen zijn moet 1 kolom vergeleken worden met een ander excel document.
Komt de inhoud van de cel overeen met de inhoud van een cel in kolom A van het andere document dan moet de inhoud van B(cel) gekopieerd worden naar F(cel) van het ingelezen bestand.
Voor het laatste stukje heb ik het volgende al als proef:
Kunnen jullie me zeggen of ik hiermee op de goede weg ben, of het simpeler kan en me op weg helpen met het 1ste gedeelte.
Alvast bedankt voor alle hulp.
Ik ben redelijk nieuw in vba maar ben toch al aardig aan het stoeien geweest.
Wat ik graag wil is een macro die een excel bestand inleest. Uit dit bestand moeten dan bepaalde kolommen gekopieerd worden (dit zijn altijd vaste kolommen (A, C, D, E)).
Als deze kolommen ingelezen zijn moet 1 kolom vergeleken worden met een ander excel document.
Komt de inhoud van de cel overeen met de inhoud van een cel in kolom A van het andere document dan moet de inhoud van B(cel) gekopieerd worden naar F(cel) van het ingelezen bestand.
Voor het laatste stukje heb ik het volgende al als proef:
Code:
Sub Element_bepalen()
Dim i As Integer
Range("A1").Select
i = 2
Do Until Cells(i, 1).Value = ""
Cells(i, 2).Value = Element_van_Artikel(Cells(i, 1).Value)
i = i + 1
Loop
End Sub
Private Function Element_van_Artikel(Artikelnr) As String
Const File As String = "C:\Artikelbestand.xls"
Dim conn As ADODB.Connection
Dim rs As ADODB.Recordset
Set conn = CreateObject("ADODB.Connection")
Set rs = CreateObject("ADODB.Recordset")
conn.Open "Driver={Microsoft Excel Driver (*.xls)};DriverId=790;Dbq=" & File
selstr = "SELECT [Element] " & _
"FROM [$Artikelen] " & _
"WHERE [Artikelnr] = '" & Artikelnr & "' "
rs.Open selstr, conn
If rs.EOF Then
Element_van_Artikel = ""
Else
Element_van_Artikel = rs("Element")
End If
rs.Close
conn.Close
Set rs = Nothing
Set conn = Nothing
End Function
Kunnen jullie me zeggen of ik hiermee op de goede weg ben, of het simpeler kan en me op weg helpen met het 1ste gedeelte.
Alvast bedankt voor alle hulp.