Board logo

標題: [發問] 又黎VLOOKUP 開題 [打印本頁]

作者: yowhome    時間: 2013-3-26 10:24     標題: 又黎VLOOKUP 開題

各位大大, 又係小弟想請教一下, 係列表, SHEET1 係 資料表,
SHEET2係工作表, 我想要的結果: 用SHEET2 D COLUMN 既資料, 去對比SHEET1 A COLUMN既資料,
符合條件就回傳 SHEET1 BCOLUMN 既資料, 直至SHEET2 D COLUMN 空白為止,
之前試過用VLOOKUP 既方法做, 但係唔成功, 我想問下各位大大應該點做好??

[attach]14457[/attach]
作者: p212    時間: 2013-3-26 11:33

回復 1# yowhome
例如:
1、請在Sheet2之A2儲存格寫入
=VLOOKUP(D2,Sheet1!A:B,2,0)
2、往下複製公式即可
請參考!
作者: yowhome    時間: 2013-3-26 12:00

回復 2# p212


    多謝大大提供, 但這不是我想要的資料, 因為SHEET2 的 D COLUMN 每次輸入的資料都不同, 我想要的是在VBA入面, 做到我以上的效果.
作者: yowhome    時間: 2013-3-26 12:26

SORRY. 可能係我打得唔好, 再黎!!

SHEET1 係 資料表, SHEET2係工作表, 因為SHEET2既 D COLUMN 既資料每次都不同,
我想要的結果: 係VBA入面, 用SHEET2 D COLUMN 既資料, 去對比SHEET1 A COLUMN既資料,
符合條件就回傳 SHEET1 B COLUMN 既資料, 直至SHEET2 D COLUMN 空白為止,
之前試過係VBA入面用VLOOKUP 既方法做, 但係唔成功, 我想問下各位大大應該點做好??
作者: Scott090    時間: 2013-3-26 14:08

我是小學生不能看到附件內涵;建議試用 Application.worksheetfunction.Vlookup  .....在VBA內呼叫工作表函數
作者: GBKEE    時間: 2013-3-26 15:00

回復 4# yowhome
用SHEET2 D COLUMN 既資料, 去對比SHEET1 A COLUMN既資料

SHEET2 D COLUMN 的資料有許多是一連串相同的要如何比對,還需多說明.(上傳範例說明)
作者: yowhome    時間: 2013-3-26 15:43

回復 6# GBKEE


[attach]14459[/attach]

唔好意思, 再黎, SHEET2 D COLUMN  只係工作表其中一欄, 我要將佢同SHEET1 既資料表相對, 回傳SHEET1 B COLUMN既 資料到SHEET2 A COLUMN,
附件中SHEET2 A COLUMN 就係我想要既結果.
作者: Hsieh    時間: 2013-3-26 16:34

回復 7# yowhome

直接寫入公式計算
  1. Sub ex()
  2. With Sheet2
  3.   With .Range(.[A2], .[D2].End(xlDown).Offset(, -3))
  4.   .FormulaR1C1 = "=VLOOKUP(RC[3],Sheet1!R2C1:R65536C3,2,0)"  '寫入公式
  5.   .Value = .Value  '寫入值
  6.    End With
  7. End With
  8. End Sub
複製代碼

作者: GBKEE    時間: 2013-3-26 16:51

回復 7# yowhome
試試看
  1. Option Explicit
  2. Sub Ex()
  3.     Dim Ar(), R As Integer, I As Integer, M As Variant
  4.     With Sheet2
  5.         R = .[d1].End(xlDown).Row      'D欄最後有資料的列號數
  6.         .Range("A2:A" & .Rows.Count) = ""      '清除A欄舊有資料
  7.         ReDim Ar(2 To R)               '重置陣列
  8.         For I = 2 To R
  9.             M = Application.Match(.Cells(I, "D"), Sheet1.Range("A:A"), 0)
  10.             'Match函數:找不到傳回錯誤值 , 找到傳回 數字
  11.             If IsNumeric(M) Then Ar(I) = Sheet1.Cells(M, "B")
  12.         Next
  13.         .Range("A2:A" & R) = Application.Transpose(Ar)
  14.     End With
  15. End Sub
複製代碼

作者: yowhome    時間: 2013-3-26 17:04

2個都成功, 多謝大大幫忙.
作者: yowhome    時間: 2013-3-26 17:04

回復 8# Hsieh


    成功了, 多謝大大幫忙.
作者: yowhome    時間: 2013-3-26 17:05

回復 9# GBKEE


        成功了, 多謝大大幫忙.




歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)