簡體   English   中英

如何從Module-Excel VBA中的另一個工作表引用單元格?

[英]How to reference cell from another sheet in Module - Excel VBA?

我在Excel工作簿中有一個宏,可通過單擊Sheet3中的按鈕將日期從Sheet1更新為SQL。 Sheet3還具有在更新過程中用作參數的單元格。

當前,宏放置在模塊中,而我的SQL語句如下:

sSQLUpd = "update [table1].[dbo].[Plan] set [Plan_QTY] = " & Plan & "_
           where [MacID] = " & Mac & " and [ModelID] = " & Mdl & " and [Date] = " & dt & "_
           and DATEPART(year,[Date])= " & Sheets("Sheet3").Cells(3, 3).Value & "_
           and DATEPART(month,[Date])= " & Sheets("Sheet3").Cells(3, 6).Value & ""
conn.Execute sSQLUpd

但是,當我測試代碼時,我的錯誤處理程序中始終出現“下標超出范圍”。

SQL結構很好,因為我通過替換以下部分對其進行了測試:

DATEPART(year,[Date])= " & Sheets("Sheet3").Cells(3, 3).Value & "

DATEPART(month,[Date])= " & Sheets("Sheet3").Cells(3, 6).Value & "

與實際數字和數據可以通過。

因此,可以安全地假設引用Sheet3中單元格的代碼有問題。 放置在模塊中時,它可能不想表現出色?

我什至嘗試了不同的變化:

DATEPART(year,[Date])= " & Sheets("Sheet3").range("C3").Value & "

沒有骰子....

我可以做些修改嗎?

等等...沒關系。 我弄清楚出了什么問題。 我要做的只是將Sheets(“ Sheet3”)更改為Sheet3:

DATEPART(year,[Date])= " & Sheet3.Cells(3, 3).Value & "

它總是與我聯系的簡單東西。 :p

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM