Ik zoek een manier om in een code een variabele kolom te benoemen, a.h.v. een ingegeven waarde waarmee gezocht kan worden in een tabel.
Omdat ik het moeilijk kan uitleggen, zie voorbeeld bijlage.
In het eerste werkblad "Gegevens" staan alle gegevens, in dit geval een voorbeeld met 5 klanten, die ieder 5 kolommen aan data bevatten.
Stel nu dat ik voor "klant1" de gegevens wil kopiëren naar het tweede werkblad "Rapport", dan moet de code voor klant1 het bereik B4:F73 selecteren.
Zou ik echter "klant2" kiezen, dan moet de code bereik G4:K73 selecteren.
Dat moet zoiets worden:
Ik zoek nu een code om die kolom B variabel te maken, en op te zoeken aan de hand van een input. Dus dit:
Bijvoorbeeld: bij klant2 moet de code zelf aan de hand van de input "2" gaan zoeken in het gegevensbestand en dan vaststellen dat het om kolom G t/m K gaat. Bij klant 3 moet ie zien dat het om kolom L t/m P gaat.
Normaalgesproken in Excel doe ik dit met INDEX en VERGELIJKEN, gewoon aan de hand van rij 2. Maar ik heb geen idee hoe dit in code moet.
Wellicht komt het niet duidelijk over, maar ik hoop dat iemand me verder kan helpen....
Alvast bedankt.
Omdat ik het moeilijk kan uitleggen, zie voorbeeld bijlage.
In het eerste werkblad "Gegevens" staan alle gegevens, in dit geval een voorbeeld met 5 klanten, die ieder 5 kolommen aan data bevatten.
Stel nu dat ik voor "klant1" de gegevens wil kopiëren naar het tweede werkblad "Rapport", dan moet de code voor klant1 het bereik B4:F73 selecteren.
Zou ik echter "klant2" kiezen, dan moet de code bereik G4:K73 selecteren.
Dat moet zoiets worden:
Code:
Sub klant1()
Sheets("Gegevens").Select
Range(Range("b4"), Range("a4").End(xlDown).End(xlDown).End(xlUp).Offset(0, 5)).Select
Selection.Copy
Sheets("Rapport").Select
Range("b4").PasteSpecial Paste:=xlPasteValues
End Sub
Ik zoek nu een code om die kolom B variabel te maken, en op te zoeken aan de hand van een input. Dus dit:
Code:
Sub klant1()
Sheets("Gegevens").Select
Range(Range("??????"), Range("???????").End(xlDown).End(xlDown).End(xlUp).Offset(0, 5)).Select
Selection.Copy
Sheets("Rapport").Select
Range("b4").PasteSpecial Paste:=xlPasteValues
End Sub
Bijvoorbeeld: bij klant2 moet de code zelf aan de hand van de input "2" gaan zoeken in het gegevensbestand en dan vaststellen dat het om kolom G t/m K gaat. Bij klant 3 moet ie zien dat het om kolom L t/m P gaat.
Normaalgesproken in Excel doe ik dit met INDEX en VERGELIJKEN, gewoon aan de hand van rij 2. Maar ik heb geen idee hoe dit in code moet.
Wellicht komt het niet duidelijk over, maar ik hoop dat iemand me verder kan helpen....
Alvast bedankt.