• 3xNix
  • Registratie: Juli 2001
  • Laatst online: 13-07 19:28

3xNix

golfr in hart en nieren

Topicstarter
Beste wijze excel guru's...

Ik kom er echt niet meer uit, teveel dingen snap ik niet :D

Ik gebruik in een backorder lijst een formule om lever informatie van de vorrige week over te nemen.
De formule:
=VLOOKUP(G2;'[23 09 2010.xls]oud!$G:$J;4;0)

Opzich werkt dit best aardig, elke week pas ik het 2de gedeelte van de formule aan. (bestand naam)
En dan doorvoeren naar beneden, waarden plakken, de #N/B weghalen en klaar is kees.

Voor mij werkt dit, maar binnekort gaan andere mensen dit overnemen in het geval ik vakantie heb.
Dus leek het mij handig om een macro-tje te maken, helaas heb ik weinig kaas gegeten van VBA.
En lukt het mij niet een werkende macro te maken. (met behulp van forum en google) 8)7

Dit is de code in VBA, die niet werkt.
Visual Basic .NET:
1
2
3
4
5
6
Sub Backorder_info()
'
'
    ActiveCell.FormulaR1C1 ="=VLOOKUP(RC[-3],[23 09 2010.xls]oud!$G:$J;4;0)" 
      
End Sub


Wil iemand mij een duwtje in de goede richting geven, zodat ik er wat van leer.
(Hele macro schrijven en plaatsen is niet de bedoeling...)

Dank u!

Verwijderd

excel beschikt over twee celadresnotaties. de meest bekende zoals je (gewoonlijk) op een werkblad ziet, is de A1-notatie, met een letter als kolomaanduiding en het cijfer als rijaanduiding.

de celadresnotatie die bij de eigenschap .FormulaR1C1 gebruikt moet worden, is de R1C1-notatie.
zorg ervoor dat het 2de gedeelte ook in R1C1 formaat staat.

  • 3xNix
  • Registratie: Juli 2001
  • Laatst online: 13-07 19:28

3xNix

golfr in hart en nieren

Topicstarter
Cheers!
Opgelost :D

C7:C10 dus... hahaha wat een lampie ben ik soms.... het werkt gelijk!!!

Als ik bij "bestands naam" een naam invul die niet bestaat, mag ik altijd kiezen welke er gebruikt word.
Dat vind ik ook wel makkelijk, al zal daar vast wel een officiele manier voor zijn.

Acties:
  • 0 Henk 'm!

  • Robkazoe
  • Registratie: December 2002
  • Laatst online: 01:13
Als je het officieel wilt doen, dan kun je een InputBox-commando gebruiken en de waarde die ingelezen wordt via de InputBox omzetten in een variabele die weer wordt meegenomen in je formule. Er zitten alleen wel wat nadelen aan vast.

- Je moet eventuele fouten afvangen (bv lege invoer, annuleer knop enz.)
- Afvangen dat er alleen Excelbestanden ingelezen kunnen worden.
- Eventuele controle inbouwen of het wel daadwerkelijk het juiste Excel-bestand is.

Om dat allemaal te gaan doen, ben je wel weer eventjes bezig en als je geen of weinig VBA-kennis hebt duurt het nog wel wat langer. Dan is deze standaardoplossing die Excel aanbiedt, veel makkelijker.

Acties:
  • 0 Henk 'm!

  • 3xNix
  • Registratie: Juli 2001
  • Laatst online: 13-07 19:28

3xNix

golfr in hart en nieren

Topicstarter
Is het ook mogelijk om de criteria van 2 cellen te gebruiken in een vlookup macro?

Bijv: vergelijk data uit kolom A en X en blad 2 A en X en plak waarde uit Y in Y ?


Sorry oplossing niet meer nodig, ik heb gewoon een tijdelijke kolom in de macro opgenomen.
met de formule:

Visual Basic:
1
2
3
4
5
6
7
8
Range("H2").Select
    ActiveCell.FormulaR1C1 = "=RC[-7]&"" ""&RC[-1]"
    LastRow = ActiveSheet.UsedRange.Rows.Count
    Range("H2").AutoFill Destination:=Range("H2:H" & LastRow)
    Cells.Select
    Selection.Copy
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False


Gebruik nu Vlookup macro op deze kolom, ipv 2 verschillende. (al weet ik niet of dat wel mogelijk is)

[ Voor 63% gewijzigd door 3xNix op 08-10-2010 16:41 ]