Vraag : Macro om een gegevensbestandblad te controleren en met waarde terug te keren

De dag van GD,

I am met behoefte aan een MACRO in Excel dat een gegeven in een cel kan automatisch opnemen door dit gegeven uit een ander blad te verkrijgen;

Example zou als dat moeten zijn; />database


A B

LIVERPOOL 21.000, 00
NEW YORK 6.512, 00
LONDON 11.000, 00
ROTTERDAM 9.750, 00
MILAN 33.100, 00
BARCELONA 12.100, 00



So wat de behoefte van I is;

I zal een ander blad gebruiken, en op dit blad wanneer ik in een cel (eigenlijk aan celaantal C3)
LIVERPOOL schrijf, wil ik MACRO controleren coloumn A van het gegevensbestandblad/vindt LIVERPOOL/het in 21000 omzet wanneer ik binnenga op het celaantal C3

HOpe hierboven verklarend vriendelijk en zich verheugt ben op het horen van uw vriendelijke asssitance druk die slecht needed
is

Antwoord : Macro om een gegevensbestandblad te controleren en met waarde terug te keren

Hallo,
De code wordt uitgevoerd everytime u selecteert een andere Cel. Om die reden moet zijn naam van de langs erkende namen zijn uitblinkt aangezien de Trekker van de Gebeurtenis en „Worksheet_SelectionChange2“ geen één van hen zijn.
In elk geval is hier de verlengbare code die u kunt aanpassen om uw behoeften aan te passen. Voeg/schrap enkel lijnen in code met de cellen toe u wenst.
Natuurlijk, als hierboven bovengenoemde etech0, kon u de formule gebruiken VLOOKUP maar u hebt om een macro gevraagd. Zie het dossier in bijlage ook bij een voorbeeld op dat. Voel vrij om om het even welke methode te kiezen u houdt van!

Cristi
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
Privé SubWorksheet_SelectionChange (Doel ByVal als Waaier)
    Schemerige LastRowText zoals lang
    Schemerige intRow zoals lang
    Schemerige strCol als Koord
    Schemerige strTemp () als Koord
    Schemerige I zoals lang
    '
    'enkel voor veiligheid
    Als strPrevCell = "" toen
        strPrevCell = ActiveCell.Address
        Sub van de uitgang
    Eind als
    '
    ':: voeg onder het meest linest met alle cellen toe u wenst (b.v. „10“, „$D$12“, enz.)
    '
    Als strPrevCell = „3“ of _
       strPrevCell = „4“ of _
       strPrevCell = „5“ toen
            strTemp = verdeel (strPrevCell, „$“)
            intRow = CLng (strTemp (2))
            strCol = strTemp (1)
        '
        ':: vind de laatste rij in kolom A
        '
        LastRowText = Bladen (1). Cellen (ActiveSheet.Rows.Count, „A“). Eind (xlUp). Rij
        '
        ':: lijn door de waarden in de kolom A
        '
        Voor I = 1 aan LastRowText
            '
            'als de waarde in kolom A het zelfde met waarde in onze Cel dan is in onze Cel de waarde in kolom B zet
            Als UCase (Bladen (1). Cellen (I, „A“)) = UCase (Cellen (intRow, strCol)) Dan
                Cellen (intRow, strCol) = Bladen (1). Cellen (I, „B“)
                Uitgang voor
            Eind als
        Daarna
    Eind als
    strPrevCell = ActiveCell.Address
Sub van het eind
Andere oplossingen  
 
programming4us programming4us