1樓:匿名使用者
sub yanse()
dim rg as range, x, sx = array(1, 3, 7, 22) '所有情況x = "|" & join(x,"|") & "|"
for each rg in range("a1:g7")s = rg.value
with rg.interior
if instr(1, x, "|" &s & "|") > 0 then '=x
.colorindex = 1
elseif s = 8 then
.colorindex = 3
elseif s = 9 then
.colorindex = 5
else
.colorindex = 4
end if
end with
next
end sub
2樓:
用邏輯運算子 or
if rg.value = 1 or rg.value = 3 or rg.value =7 or rg.value =22 then
vba如何在乙個有內容的單元格後面賦值(插入)乙個變數的值
3樓:匿名使用者
range("a1").value = "'" & range("a1").value & i
vba中如何實現乙個單元格的值等於另外乙個單元格的值
4樓:匿名使用者
[a1]=[b1]
range("a1")=range("b1").valuecells(1,1)=cells(1,2).value以上三種都是a1等於b1的表述
5樓:天蠍
假設:單元格a1等於另外乙個單元格b1的值,那麼可在vba中寫入以下回三種表示式中的一種:答
[a1].value=[b1].valuerange("a1").value=range("b1").value
cells(1,"a").value=cells(1,"b").value
vba怎樣把乙個單元格中的值賦給另乙個單元格
6樓:小李無刀
excel vba在程式設計時,經常會遇到取單元格值,並賦值,一般是兩種語句:
1、range("a1")這樣的,直接使用引用。賦值即可使用range("a1")=range("b1")
2、cells(行號,列號)這樣的,使用rc引用方式,賦值可使用cells(1,1)=cells(1,2)
7樓:秋風奏鳴曲
wlorkbooks("book1").sheet(sheet1).cells(1,1).
formula = wlorkbooks("book2").sheet(sheet1).cells(2,1).
text
以上是只複製數值
wlorkbooks("book1").sheet(sheet1).cells(1,1).
formula = wlorkbooks("book2").sheet(sheet1).cells(2,1).
formula
以上是複製公式內容
wlorkbooks("book1").sheet(sheet1).cells(1,1).
copy wlorkbooks("book2").sheet(sheet1).cells(2,1)
以上相當於ctrl+c,ctrl+v 複製,效果和第二種差不多
8樓:哲木子
不用這麼寫,其實很簡單,你用下我的試試,workbooks("book2").sheet1.cells(2,1)=workbooks("book1").
sheet1.cells(1,1),你寫反了肯定報錯了
9樓:匿名使用者
不是wlorkbooks,是workbooks
sheet(sheet1), 是sheets("sheet1")
10樓:
workbooks("book2.xls").sheet(sheet1).
cells(2,1).copy workbooks("book1.xls").
sheet(sheet1).cells(1,1)
excel vba怎樣指向單元格並把單元格的值賦值給乙個變數
11樓:魚木混豬喲
假設把 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表示當前變數的型別。
12樓:匿名使用者
比如 你想 把 sheet1 中a1 單元格 複製給 x變數 那麼x = sheets("sheet1").range("a1")比如你又要把 某個 運算結果 的變數值 y 複製給 sheet1的 a1 那麼:
sheets("sheet1").range("a1")=y
13樓:平陽虎
要做什麼,直接了當,不要吞吞吐吐,欲語還羞……
在vba中如何用乙個陣列給另乙個陣列賦值?
14樓:匿名使用者
通過陣列迴圈的方式進行陣列賦值。
示例:dim names '定義乙個初始化陣列dim dest(3) '定義乙個要賦值的陣列'賦值names = array("小明", "小紅", "效力", "張明", "王武", "", "", "", "", "", "")
'通過ubound()函式計算上界,lbound計算陣列下界for i=lbound(dest) to ubound(dest)dest(i) = names(i);//陣列賦值next i
15樓:匿名使用者
應該迴圈陣列並比較後賦值,或按位賦值
16樓:匿名使用者
dim i%
dim a(0 tto 8),b(0 to 3)a=array(1,2,3,4,5,6,7,8,9)b(0)=a(0)
b(1)=a(1)
b(2)=a(3)
b(3)=a(5)
17樓:匿名使用者
dim b() as double
redim b(4)
b(1) = a(0)
b(2) = a(1)
b(3) = a(3)
b(4) = a(5)
vba,等號無法賦值!
18樓:錢江化工
不是的,vba中規定不能夠在定義的時候同時給變數賦值,所以你應該最好分開寫。
dim x as integer
x=100
如果你需內要在過程函容數中使用,你可以
sub xx()
dim x as integer
x=100
end sub
*************************==回答補充:
你要知道,vb的基本組成單位是過程或者函式!
所以關於執行的**必須放在過程函式中!
在通用的地方只能對變數進行定義!不能賦值!
賦值語句必須放在sub或function中!
19樓:匿名使用者
多寫一句吧,vb本來就不支援這樣的變數賦值方式,不是excel的問題。
dim x as integer
x = 10
20樓:匿名使用者
不帶其他條件判斷語句的情況下,=在vb中是賦值號,而在條件語句中,=是等號。在這裡不會產生歧義。
如何在vba中宣告陣列,如何定義在VBA中定義乙個動態陣列?
sub test dim a 0 to 5 定義乙個一維陣列,下標從0到5共6個元素 dim b 定義乙個動態陣列,陣列維度與元素不確定,一般需要通過redim重新定義陣列大小才能給其賦值 dim c 1 to 5,2 to 3 定義乙個二維陣列end sub 零落的小釘錘 定義即宣告,如 a ar...
在VBA中如何用陣列給另陣列賦值
通過陣列迴圈的方式進行陣列賦值。示例 dim names 定義一個初始化陣列dim dest 3 定義一個要賦值的陣列 賦值names array 小明 小紅 效力 張明 王武 通過ubound 函式計算上界,lbound計算陣列下界for i lbound dest to ubound dest ...
如何在excel中用巨集(VBA)實現VLOOKUP的功能
慶年工坊 function myvlookup val,rg as range,n as integer,f as boolean arr rg if f then for i ubound arr to 1 step 1if val arr i,1 thenmyvlookup arr i,n en...