hi all,
mau tanya bagaimana caranya dengan VBA ini utk mengubah dari range ke array dan search string ke array tersebut jika ada di array maka ambil value dari kolom yg lain..
trims,
hi all,
mau tanya bagaimana caranya dengan VBA ini utk mengubah dari range ke array dan search string ke array tersebut jika ada di array maka ambil value dari kolom yg lain..
trims,
@ddtopgun ...
Normalnya, bisa menggunakan script Variant = Range
, misalkan :
Dim xArray xArray = Sheet1.Range("A1:A100")
Script di atas akan menghasilkan Array 2 dimensi :
Untuk menghasilkan Array 1 dimensi, dapat menggunakan fungsi Transpose :
xArray = Application.Transpose(Sheet1.Range("A1:A100").Value)
... mengubah dari range ke array dan search string ke array tersebut jika ada di array maka ambil value dari kolom yg lain ...
Misalkan, akan diambil nilai pada range A5:C50. Pencarian data dilakukan pada kolom A dan nilai yang akan dikembalikan ada pada kolom C. Maka dapat disusun script misalkan seperti berikut :
... Dim vFind As Variant, vResult As Variant Dim lX As Long Dim xArray xArray = Sheet1.Range("A5:C50").Value vFind = 19800526001 '+-- Yang akan dicari. For lX = LBound(xArray) To UBound(xArray) If xArray(lX, 1) = vFind Then vResult = xArray(lX, 3) Exit For End If Next ...
atau bisa juga dengan menggunakan script berikut :
... Dim vFind As Variant, vResult As Variant Dim xArray As Variant, vIdx As Variant xArray = Sheet1.Range("A5:C50").Value With Application vFind = 19800526001 '+-- Yang akan dicari. vIdx = .Match(vFind, .Index(xArray, 0, 1), 0) If IsNumeric(vIdx) Then vResult = xArray(vIdx, 3) End If End With ...
Contoh lainnya dapat dilihat pada diskusi ini.
Demikian.