iT邦幫忙

0

EXCEL VBA 工作表名稱變數問題

  • 分享至 

  • xImage

請大大指點一下謝謝

我想做到的功能是

EX 工作表1的F2 輸入工作表的名稱
然後工作表1 的欄位 去比對 F2所輸的工作表
再覆蓋相對應的欄

下面比對及寫入是正常的,
但請問工作表名稱變數要怎麼設才能讓F2的值變成指定工作表名稱

Public Sub 改工作表比對()
  
  Dim x As Variant
     Set x = 工作表1.Range("F2")
    i = 1
    Do
        i = i + 1
        If x.Range("B" & i) = "" Then Exit Do
        With 工作表1.Range("B2:B50")
            Set c = .Find(x.Range("B" & i), LookIn:=xlValues)
              If Not c Is Nothing Then
                x.Range("h" & i).Value = c.Offset(0, 4).Value
                           
               MsgBox "成功"
           End If
         
        End With
    Loop
End Sub

請大大指點一下非常感謝

圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

1 個回答

0
海綿寶寶
iT邦大神 1 級 ‧ 2020-11-20 10:55:56
最佳解答

試看看

Set x = 工作表1.Range("F2")

改成

Set x = Worksheets(工作表1.Range("F2"))
看更多先前的回應...收起先前的回應...
bgcc9527 iT邦新手 5 級 ‧ 2020-11-20 11:26:30 檢舉

大大,顯示型態不符合,怎麼修正呢?

改成

Set x = Worksheets(工作表1.Range("F2").value)

F2 裡是什麼值?

bgcc9527 iT邦新手 5 級 ‧ 2020-11-20 11:41:56 檢舉

有中英數字,成功運行了,謝謝大大~我搞一天了 >< ~你一秒就解決了
非常感謝

問題解決就好

我要發表回答

立即登入回答