2019年9月10日 星期二

Excel VBA 二 插入按鈕、Cell、Range



1.Insert 有很多的圖形可以控制,這裡以左上角的按鈕為例




2.選完第一張圖的按鈕後,在 Excel 工作區隨便畫一個長方形,如此圖的上半部分
滑鼠放開後,就會看到下半部分
然後名稱預設是 CommandButton1,想改名可按上圖的下半部分操作



3.第一和第二張圖都有個 View Code 可到這個畫面來,然後打程式碼
Private Sub CommandButton1_Click()
  Cells(2, "B").Value = "haha"
  MsgBox ("insert" & vbNewLine & "success")
End Sub
打完按三角按鈕即可執行



4.此時按鈕就可以按了,但發現按右鍵沒反應,此時可以發現 Properties 是灰色的
按下橘框的 Design Mode,會發現 Properties 又可以用了且按右鍵也可以了


※Cell、Range

Cells(1, "A").Value = 123  '第二個參數用數字也可以;1就是A,2就是B,依此類推
Cells(2, "B").Value = "haha"

Range("C3").Value = "I'm C3"
Range("C4: E5").Value = "c4-e5"
Range("C4: E5, A7: B13, G1").Value = "yeah"

以上是針對當前工作表,如果想控制其他的工作表可用如下三個方法:

Worksheets("Sheet1").Range("A2").Value = "A7"
Worksheets(1).Range("A3").Value = "A3" 'Worksheets.Count
Sheet1.Range("A4").Value = "A4"


如上圖右邊,Sheet1 和 Sheet2 都是 Excel 幫我們定好的,後面的括號是別名,會對應到上圖左邊下面的名稱
注意 Sheet2 的別名是 Sheet1

第一種是用別名的方式
第二種是以上圖左邊下面去算的,最左邊的 xxx 是1,Sheet1 是 2,但滑鼠按著其中一個去換,是可以換的,這時順序會改變,所以這種方法不推薦
第三種是用 Excel 幫我們定好的名稱
使用 Worksheets.Count 可以知道有幾張工作表

※Range 的另外一種用法

Range("xxx"),裡面的 xxx 可以自己定義,方法如下:


1.這次使用的不是 Developer 了,是 Formulas



2.Scope 是工作表的別名,橘框按了以後視窗會變小,這時在 Excel 拉需要的範圍即可,如果要多個範圍,就按 Ctrl



3.在左上角打上自己取得名稱,就會反白範圍



4.這個畫面可以編輯和刪除,但 Scope 不能改

沒有留言:

張貼留言