2013年1月13日 星期日

VBA 小學堂-關於幾個儲存格的概念

image

在上次的文章中稍微的講一下如何開始撰寫 VBA

而本次就來聊聊 VBA 裡面一個很重要的東東-儲存格

既然會使用到 VBA,就代表說我們是想在想要的儲存格中帶入我們想要的值或是文字

所以怎樣決定儲存格的位置或是範圍就是一個很重要的概念嚕

大家先跟上一篇一樣先準備好一個按鈕來執行巨集

先來介紹一些跟儲存格有關的程式碼

1. Range()

依字面來看就是指 "範圍"

簡單舉個例子好了

Range("A1:D5") 指的就是 A1-D5 所圍起來的所有儲存格 (注意兩邊要加引號)

image

Sub ranselect()
Range("A1:D5").Select
End Sub

大家可以依照上次的方法,試試上面的程式碼

應該會得到上圖的結果

而 Range 也可以用來表示單一的儲存格

譬如說 Range(“A3”) 就是單指儲存格 A3

image

2. Cells()

Cells(a,b) 指的就是單格儲存格,其中 a 為直方向的座標 (1, 2, 3……),b 為橫向的座標 (A, B, C….)

譬如說 Cells(1,3) 指的就是 C1 儲存格

大家可以試試以下程式碼

Sub ranselect()
Cells(1, 3).Select
End Sub

執行後結果如下

image

a, b 的座標都是用數字代表的喔

而不像 Range(“C1”) 是直接用 "C1" 表示

這邊大家應該可以了解到 Range(“C1”) 和 Cells(1,3) 所代表的是同一個儲存格

3. Range() vs Cells()

啥時該用 Range & 啥時該用 Cells

答案其實沒有一定啦

只是如果你選擇的如果是一個範圍的儲存格

那就非得用 Range() 不可

另外還要提一點

就是 Range 及 Cells 是可以搭配使用的

譬如說在上面提到的 Range("A1:D5") 也可以表示成 Range(Cells(1,1),Cells(5,4))

這時候大家一定會跟幾米蘇有一樣的疑問

明明 Range("A1:D5") 的表示就很明白清楚,為何要用 Range(Cells(1,1),Cells(5,4)) 來搞自己呢 @@”

答案就是 Cells 跟 "變數" 的搭配可以比較活

至於變數就留在下一篇說明嚕

睡前 Po 一篇,祝大家好眠啦 XD

沒有留言:

張貼留言

Related Posts Plugin for WordPress, Blogger...