返回列表 上一主題 發帖

[發問] 請問不同工作表的變數如何設?

... 這種跨工作表變數的語法要怎麼寫 ...
skyutm 發表於 2012-8-22 22:43


儲存格的引用可以用好幾種方式,
底下舉幾個比較簡單易用的:
1. Sheet名稱.[儲存格]
例 :  Sheet1.[c2] = 120 '加權比例
     Sheet2.[c3] = 86 '國語成績輸入欄
     Sheet3.[c5] = Sheet2.[c3] '成績單國語欄

2. Sheets("工作表名稱").Cells(儲存格列序, 儲存格欄序)
  Sheets("Sheet1").Cells(2, 3) = 120 '加權比例
  Sheets("Sheet2").Cells(3, 3) = 86 '國語成績輸入欄
  Sheets("Sheet3").Cells(5, 3) = Sheets("Sheet2").Cells(3, 3) '成績單國語欄

3. 設定 Sheet 指標, 然後以指標代替 Sheet 名稱來引用
  Dim sh1 As Sheet1, sh2 As Sheet2, sh3 As Sheet3
  
  Set sh1 = Sheet1
  Set sh2 = Sheet2
  Set sh3 = Sheet3
  
  sh1.Range("c2") = 120  '加權比例
  sh2.Range("C3") = 86  '國語成績輸入欄
  sh3.Range("C5") = sh2.Range("c3")   '成績單國語欄

上述方式中, Sheet 引用方式與 儲存格 引用方式都可以互相代換,
例如你可以用
Sheet1.Cells(2, 3) = 120 '加權比例

這裡要略微提一下 Office 說明中不友善的地方, (我用的是 2003 版)
若我們用 工作表 或 儲存格 來搜尋相關的使用方式,
會發現找不到想要的說明,
而要用 Range 或 Sheets 才能 (若用 Sheet 也不能) 找到 使用 Range 物件參照儲存格 或 使用名稱參照工作表 之類的說明,
我剛學習 Excel VBA 時往往浪費很多時間在找想要看的說明與範例,
有時還真的滿容易讓人洩氣的.

TOP

        靜思自在 : 生氣,就是拿別人的過錯來懲罰自己。
返回列表 上一主題