1樓:匿名使用者
public sub 測試()
dyg = sheet1.range("b2").value
end sub
2樓:太極健
物件就是的賦值,必需使用set語句
public sub 測試()
dim dyg as range
set dyg = range("b2")end sub
你完全可以不用定義為單元格物件,直接賦值不就行了?
public sub 測試()
dim dyg$'定義字串變數
dyg = range("b2")
end sub
3樓:匿名使用者
未指定dyg的單元格範圍,所以無法賦值:
你加一句:set dyg = range("a1")或指定其它你想要的單元格!
4樓:一年孤獨
這個不同於為integer等型別的一般變數賦值,要先用set 關鍵字將變數賦為特定物件,建立該物件的乙個引用,然後可賦值。
public sub 測試()
dim dyg as range
'如下語句正確,但意義不大
set dyg = range("b2")'常用形式
set dyg=range("a1") 『a1可換成你想引用的單元格
dyg= range("b2")
end sub
此外,建議樓主將range("b2")寫為range("b2"), 雖不影響結果,但養成良好的書寫習慣比較好,對單元格引用,都預設為大寫的。
5樓:匿名使用者
賦值要用set
public sub 測試()
dim dyg as range
set dyg = range("b2")end sub
excel vba怎樣指向單元格並把單元格的值賦值給乙個變數
6樓:魚木混豬喲
假設把 sheet1 中a1單元格賦值給x變數,語句如下:
x = sheets(1).range("a1")
假設x經過計算後,得到乙個變數值y,那麼把y賦值給a1,語句為:
sheets(1).range("a1")=y
這樣就實現了單元格與變數之間的相互賦值
關於此例中涉及到的vba中變數的相關知識:
1、什麼是變數
變數是乙個命名的記憶體位置。是在程式或**執行過程中,用於臨時儲存資料,並且其儲存的資料可以根據需要發生改變的乙個命名專案。
變數由名稱(變數名)和資料型別指定:
變數名——用來引用變數
資料型別——確定變數所能儲存資訊的種類以及所佔儲存空間的大小
2、變數的命名規則
(1)名稱是由字母(a-z,a-z)或數字和下劃線「_」的任意組合。(在excel 2002以後的版本中也可以包含中文);最後乙個字元可以是型別說明符;
(2)變數名的長度不得超過255個字元
(3)變數名在有效的範圍內必須是唯一的。有效的範圍就是引用變數可以被程式識別的作用範圍 例如乙個過程、乙個窗體等等;
(4)變數名不能是vba中的保留字(關鍵字),也不能是末尾帶型別說明符的保留字,但可以把保留字嵌入變數名。
說明:(1)變數名是不區分大小寫的。如abc、abc、abc等都是一樣的;
(2)定義和使用變數時,通常要把變數名定義為容易使用閱讀和能夠描述所含資料用處的名稱;
(3)根據需要混合使用大小寫字母和數字。如果需要使用多單詞組,變數中每個單詞的第乙個字母大寫,例如:datatemp表示臨時資料,也可以兩個單詞中下劃線分隔,例如:last_num;
(4)對於變數名也有更好的建議,每個變數名以兩個或三個字元縮寫開始,這些字元縮寫對應於變數要儲存資料的資料型別。例如strworksheet as string表用來示工作表名,字首str表示當前變數的型別。
7樓:匿名使用者
比如 你想 把 sheet1 中a1 單元格 複製給 x變數 那麼x = sheets("sheet1").range("a1")比如你又要把 某個 運算結果 的變數值 y 複製給 sheet1的 a1 那麼:
sheets("sheet1").range("a1")=y
8樓:平陽虎
要做什麼,直接了當,不要吞吞吐吐,欲語還羞……
excel vba怎樣指向單元格並把單元格的值賦值給乙個變數?
9樓:魚木混豬喲
假設把 sheet1 中a1單元格賦值給x變數,語句如下:
x = sheets(1).range("a1")
假設x經過計算後,得到乙個變數值y,那麼把y賦值給a1,語句為:
sheets(1).range("a1")=y
這樣就實現了單元格與變數之間的相互賦值
關於此例中涉及到的vba中變數的相關知識:
1、什麼是變數
變數是乙個命名的記憶體位置。是在程式或**執行過程中,用於臨時儲存資料,並且其儲存的資料可以根據需要發生改變的乙個命名專案。
變數由名稱(變數名)和資料型別指定:
變數名——用來引用變數
資料型別——確定變數所能儲存資訊的種類以及所佔儲存空間的大小
2、變數的命名規則
(1)名稱是由字母(a-z,a-z)或數字和下劃線「_」的任意組合。(在excel 2002以後的版本中也可以包含中文);最後乙個字元可以是型別說明符;
(2)變數名的長度不得超過255個字元
(3)變數名在有效的範圍內必須是唯一的。有效的範圍就是引用變數可以被程式識別的作用範圍 例如乙個過程、乙個窗體等等;
(4)變數名不能是vba中的保留字(關鍵字),也不能是末尾帶型別說明符的保留字,但可以把保留字嵌入變數名。
說明:(1)變數名是不區分大小寫的。如abc、abc、abc等都是一樣的;
(2)定義和使用變數時,通常要把變數名定義為容易使用閱讀和能夠描述所含資料用處的名稱;
(3)根據需要混合使用大小寫字母和數字。如果需要使用多單詞組,變數中每個單詞的第乙個字母大寫,例如:datatemp表示臨時資料,也可以兩個單詞中下劃線分隔,例如:last_num;
(4)對於變數名也有更好的建議,每個變數名以兩個或三個字元縮寫開始,這些字元縮寫對應於變數要儲存資料的資料型別。例如strworksheet as string表用來示工作表名,字首str表示當前變數的型別。
excel vba應用 如何讓單元格隨時間變化而自動變化顏色
設條件格式應該可以吧!excel不會根據時間自動計算,必須啟用,即便是vba也得執行下面的思路,b列輸入函式 直接設在條件格式中,好像不行 c列 b列,將c列公式下拉相當於啟用公式。設定條件格式,如果b列位true,a列的顏色變化 下面的and函式中得條件知設定了部分。a b c 2011 9 21...
excel vba 如何將單元格的值,同步顯示在窗體中的la
步驟如下 sheet1的a1 a10中有如下內容 插入窗體,並插入乙個核取方塊 雙擊窗體,新增如下 按f5執行 結果如下 form1.label1.caption cells i,j form1.text1.text cells i,j 一般有窗體的情況下,vba 是直接寫在窗體的 中的。這時候,f...
用excel vba做單元格對應行與對應列的加減
用陣列運算,應該能快點,不過,應該連條件也用陣列,我很懶,只是改了一點,如下 sub time dim r,c as integer,a,b,aa r worksheets 時間 usedrange.rows.count c worksheets 時間 usedrange.rows.count re...