返回列表 上一主題 發帖

請教vba的撰寫問題

回復 1# lionliu
  1. Option Explicit
  2. Sub trnprg()
  3.     Dim myrow As Long
  4.     Dim myrange As Range
  5.     Dim i As Integer
  6.     myrow = Range("a1").End(xlDown).Row
  7.     For i = 2 To myrow
  8.         Set myrange = Cells(i, 1)
  9.         If myrange <> Empty Then
  10.           'Cells(i, 2).FormulaR1C1 = "=VLOOKUP(" & Cells(1, i) & ",Jsc_Data!A:G,6,FALSE)" '<-是R1C1,但有A:G
  11.          
  12.           'FormulaR1C1 傳回或設定物件的公式,用巨集語言的 R1C1 樣式符號表示
  13.           'Cells(i, 2).FormulaR1C1 = "=VLOOKUP(" & Cells(1, i) & ",Jsc_Data!A:C1:C7,6,FALSE)"
  14.          
  15.           'Formula 傳回或設定 A1 樣式的物件公式
  16.           'Cells(i, 2).Formula = "=VLOOKUP(" & Cells(1, i) & ",Jsc_Data!A:G,6,FALSE)"
  17.           '
  18.           Cells(i, 2) = "=VLOOKUP(" & Cells(1, i) & ",Jsc_Data!A:G,6,FALSE)"  '簡單一點
  19.          
  20.           '但 VLOOKUP 傳回#N/A 時 Cells(i, 5).FormulaR1C1 會錯誤
  21.             Cells(i, 5).FormulaR1C1 = "=CONCATENATE(""代墊款"", "" - "",Left(""" & Cells(i, 2) & """,2))"
  22.             If Not IsError(Cells(i, 2)) Then Cells(i, 5) = "代墊款  - " & Left(Cells(i, 2), 2)
  23.             '何不改為如此
  24.         End If
  25.     Next i
  26.     Set myrange = Nothing
  27.   End Sub
複製代碼
感恩的心......(在麻辣家族討論區.用心學習會有進步的)
但資源無限,後援有限,  一天1元的贊助,人人有能力.

TOP

回復 4# lionliu
  1. 工作表函數VLOOKUP
  2. VLOOKUP(lookup_value,table_array,col_index_num,range_lookup)
  3. Lookup_value    是您打算在陣列的最左欄中搜尋的值。Lookup_value 可以是數值、參照位址或文字字串。
複製代碼
Lookup_value: 當搜尋的值是字串,但你不是指定參照位址時
工作表上的函數公式=VLOOKUP("PB04002",ABC_Data!A1:G50,7,FALSE)
  1. Cells(i, 2) = "=VLOOKUP(""" & Cells(i, 1) & """,ABC_Data!a:g,7,FALSE)"
  2.           'Cells(i, 2) = "=VLOOKUP(" & Cells(i, 1) & ",ABC_Data!a1:g50,7,FALSE)"
  3.          
複製代碼
感恩的心......(在麻辣家族討論區.用心學習會有進步的)
但資源無限,後援有限,  一天1元的贊助,人人有能力.

TOP

回復 6# lionliu
  1. Cells(i, 2) = "=VLOOKUP(" & Cells(i, 1).Address & ",ABC_Data!a:g,7,FALSE)"
複製代碼
但你附檔的工作表ABC.[B4]開始的儲存格格式都是文字,需改成通用格式
感恩的心......(在麻辣家族討論區.用心學習會有進步的)
但資源無限,後援有限,  一天1元的贊助,人人有能力.

TOP

        靜思自在 : 布施如播種,以歡喜心滋潤種子,才會發芽。
返回列表 上一主題