*Module Standar*
Global TblArr As Range
Global TblarrName As String
Sub RefreshTabelArray()
Set TblArr = Sheets("DATA").Range("A4").CurrentRegion.Offset(1, 0)
Set TblArr = TblArr.Resize(TblArr.Rows.Count - 1, TblArr.Columns.Count)
TblArr.Name = "TblArr"
End Sub
*Module Sheets("DATA")*
Private Sub Worksheet_Deactivate()
RefreshTabelArray
End Sub
*Module Sheets("Sheet2")*
Private Sub CommandButton1_Click()
Dim TblHasil As Range, R As Long
Set TblHasil = Range("A4").CurrentRegion
RefreshTabelArray
For R = 2 To TblHasil.Rows.Count
TblHasil(R, 2).Value = _
WorksheetFunction.VLookup(TblHasil(R, 1), TblArr, 2, False)
TblHasil(R, 4).Formula = _
"=VLOOKUP(" & TblHasil(R, 1).Address(False, False) & ", TblArr, 2,
False)"
Next R
End Sub
intinya:
(1)
Tabel_Array yg berada di Sheet DATA selalu diberinama (TblArr) secara
berkala agar
*dinamis / mengikuti dimensi tabel terbaru*
Terjadinya Refreshing dan penamaan kembali = setiap Sheet DATA *di
de-aktifkan.*
( tentunya setelah anda menambah data, anda meninggalkan sheet DATA; karena
haruas menuju Seet 2 untuk mengolah data.)
(2)
dicontohkan di Sheet 2
kolom B menuliskan HASIL VLOOKUP sepanjang Kolom A ada datanya (dan tidak
loncat)
kolom D menuliskan RUMUS VLOOKUP sepanjang Kolom A ada datanya (dan tidak
loncat)
On Mon, Apr 23, 2012 at 9:43 AM, INDRA WONGSO <[email protected]> wrote:
> salam untuk XL-Mania
> karena macro saya adalah macro basic (record)
> maka saya minta bantuan kepada saudara sekalian untuk share ilmu macro
> Macro Vlookup
> vlookup dari sheet sebelah
> permasalahannya adalah ketika jumlah lookup valuenya (cell yang akan di
lookup) itu bertambah maka
> otomatis saya harus merubah range array nya sesuai dengan jumlah lookup
valuenya.
>
> bagaimana ya caranya agar saya tidak perlu lagi merubah range array nya
agar macro berjalan sesuai apabila lookup valuenya bertambah.
>
> Terima kasih.
>
>
> (Indra Wongso)
>
>
>
VLOOKUP fakai makhro (o_Seno).xlsm
Description: Binary data

