• Privacywetgeving
    Het is bij Helpmij.nl niet toegestaan om persoonsgegevens in een voorbeeld te plaatsen. Alle voorbeelden die persoonsgegevens bevatten zullen zonder opgaaf van reden verwijderd worden. In de vraag zal specifiek vermeld moeten worden dat het om fictieve namen gaat.

EXCEL '13 VBA, Index match omzetten naar VBA

Status
Niet open voor verdere reacties.

tijmen_4real

Gebruiker
Lid geworden
20 apr 2005
Berichten
338
Hoi,

Ik heb op een aantal cellen een index(vergelijken) staan zoals bijvoorbeeld deze:
Code:
=INDEX('../data.xlsm]info'!$A$2:$A$2000;VERGELIJKEN(procentenlijst!C12;'../data.xlsm]info'!$C$2:$C$2000;0))

Nu komt het vaak voor dat het zoeken in data.xlsm niet geheel lekker loopt. Het lijkt te komen door een bug/serverkwestie.
Wanneer ik simpelweg de code in het bestand knip en plak, wordt de opdracht wel uitgevoerd.

Ik wil daarom deze index-vergelijken uit de 5 cellen graag onder een button via VBA onderbrengen, waar na klikken in één keer de 5 vergelijkingen gezocht/gevonden worden.

Maar, hoe is deze opdracht in VBA?
Bij voorbaat dank en met vriendelijke groet,

Tijmen
 
er zit een wachtwoord op de VBA, maar probeer het eens met deze regel:
Code:
    ActiveCell.FormulaR1C1 = "=INDEX('H:\voedingssupplementen\Tijmen\Projecten\Overig\[info_lege_capsules.xlsm]info lege capsules'!R2C1:R2000C1,MATCH(procentenlijst!R[11]C[2],'H:\voedingssupplementen\Tijmen\Projecten\Overig\[info_lege_capsules.xlsm]info lege capsules'!R2C3:R2000C3,0))"
voor de formule in rij 1
 
Laatst bewerkt:
Enkel dit in de sheet plaatsen, zonder sub/actie of ander? Of zo onder de code van de button plaatsen?
Veel dank!
 
Laatst bewerkt door een moderator:
plaats een bestand zonder wachtwoord dat werkt makkelijker.
 
Een MATCH naar een externe tabel werkt vaak niet zo lekker. Beter is om in je bestand een externe gegevensverbinding te leggen naar dat bestand waarmee je de relevante gegevens binnenhaalt. Laat je MATCH vervolgens verwijzen naar de binnengehaalde data in het bestand zelf.
 
Een MATCH naar een externe tabel werkt vaak niet zo lekker. Beter is om in je bestand een externe gegevensverbinding te leggen naar dat bestand waarmee je de relevante gegevens binnenhaalt. Laat je MATCH vervolgens verwijzen naar de binnengehaalde data in het bestand zelf.

Heb je misschien een voorbeeld van wat jij bedoelt?
 
Tabje Data, knop New Query, From File, From Workbook. Dan bestand kiezen en uit bestand de juiste tabel/werkblad selecteren. Dan klikken op "Clean data" en de kolommen kiezen die je nodig heb en ander opruimwerk doen zoals filteren wat je niet nodig hebt e.d.. Daarna kies je van de home tab "Close and load to" en kies je waar het resultaat moet komen. Tenslotte klik je in de data tab op Connections, selecteer je de nieuwe verbinding, klik je op Properties en stel je in dat deze vernieuwd bij openen van het bestand (en eventueel elke x minuten). Je INDEX/MATCH wijs je nu naar de nieuwe tabel.
 
Tabje Data, knop New Query, From File, From Workbook. Dan bestand kiezen en uit bestand de juiste tabel/werkblad selecteren. Dan klikken op "Clean data" en de kolommen kiezen die je nodig heb en ander opruimwerk doen zoals filteren wat je niet nodig hebt e.d.. Daarna kies je van de home tab "Close and load to" en kies je waar het resultaat moet komen. Tenslotte klik je in de data tab op Connections, selecteer je de nieuwe verbinding, klik je op Properties en stel je in dat deze vernieuwd bij openen van het bestand (en eventueel elke x minuten). Je INDEX/MATCH wijs je nu naar de nieuwe tabel.

Dank je wel. Ik kan refereren naar een kolom, maar krijg vervolgens een lege tabel... Wat doe ik verkeerd?
Ik zie nergens de optie voor Clean Data en/of Close and load to...
 
Nou, deze stappen:

1. Klik het menu:
DataFromWorkbook01.gif
2. Kies bestand
DataFromWorkbook02.gif
3. Selecteer tabblad of tabel en klik op de aangegeven knop
DataFromWorkbook03.gif
4. Verwijder kolommen, verplaats kolommen, filter de tabel en klik dan op de knop:
DataFromWorkbook04.gif
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan