excel VBA中Range函式將列作為變數怎麼表示

時間 2021-07-08 20:34:04

1樓:歲月不及你動人

range型別的函式有多種形式,具體如下:

1.您可以嘗試用range(cells(行1,列1),cells(行2,列2))這種形式,比較靈活;

2.也可以用cells(行,列)這樣的形式表示單元格;

3.還可以用columns(列)表示一列;

4.也可以用range(columns(列1),columns(列2))來表示連續的多列。

這裡的"行"和"列"都是整數,不是字母,數字有時會比字母更靈活。

2樓:一年孤獨

直接用就是了:

function getrange(col as string)

getrange = workbooks(1).sheets(2).range(col & "2:" & col & "2012")

'或者'getrange = workbooks(1).sheets(2).range(replace("a2:a2012","a", col))

end function

getrange("b") 'workbooks(1).sheets(2).range("b2:b2012")

getrange("ab") 'workbooks(1).sheets(2).range("ab2:ab2012")

3樓:匿名使用者

首先range是屬性,不是函式,它本身表示一個區域引用,而不是說它作為函式返回一個區域。

將列作為變數一般可以用cells(row,col)屬性中的col(列號)作為變數,作為區域引用的range屬性可以用range(cells(row1,col1),cells(row2,col2))來表示

4樓:浩哥奕弟

從一個工作表中提取資料到另一個工作表,一般思路是從第一個表中將資料裝入陣列,再將陣列裝入第二個表。

例如:arr=sheet1.range("a1:a100")

sheet2.range("a1").resize(ubound(arr),ubound(arr,2))=arr

5樓:匿名使用者

workbooks(1).sheets(2).range(cells(2,m), cells(2012,m)).value

range 引用單元格時,變數只能為行如range("a" & m) 表示a列第m行的單元格

6樓:匿名使用者

親測以下方式可行

sub test()

dim colname1 as string, colname2 as string, colnum as long, a() as long

dim i as integer, j as integer

redim a(1 to 5, 1 to 2)

for i = 1 to 5 '給aa陣列賦值

for j = 1 to 2

a(i, j) = i * j

next

next

for i = 4 to 10 step 3 '從4列即“d”列開始

colnum = i * 1 '起始列的變數表示

colname1 = getexcelcolumn(i * 1) '起始列變數名稱

colname2 = getexcelcolumn(i * 1 + 1) '終止列變數名稱

sheets("sheet1").range(colname1 & "1:" & colname2 & "5") = a

'將陣列a賦值到 range:d1:e5, g1:h5,j1:k5

next

end sub

function getexcelcolumn(columnnumber as long)

dim div as long, colname as string, modulo as long

div = columnnumber: colname = vbnullstring

do while div > 0

modulo = (div - 1) mod 26

colname = chr(65 + modulo) & colname

div = ((div - modulo) / 26)

loop

getexcelcolumn = colname

end function

7樓:

range型別的函式有多種形式,您可以嘗試用range(cells(行1,列1),cells(行2,列2))這種形式,比較靈活,也可以用cells(行,列)這樣的形式表示單元格,還可以用columns(列)表示一列,也可以用range(columns(列1),columns(列2))來表示連續的多列,這裡的"行"和"列"都是整數,不是字母.數字有時會比字母更靈活

您補貼上來的內容是行不通的,區域賦值不可以直接進行,而是要對該區域內的每一個單元格賦值,對於您想表達的意思,有必要外加一個for迴圈來解決這個問題,最關鍵的賦值語句應該是類似

range(....).cells(r,c)=range(***x).cells(r,c)

這樣的語句

8樓:三井熊

range(變數a & "3:" & 變數a & "2012")

9樓:匿名使用者

range(cells(3,i),cells(2012,i)) , i 可以是123,代表a,b,c

excel vba中range函式把列作為變數怎麼表示?

10樓:歲月不及你動人

range型別的函式有多種形式,具體如下:

1.您可以嘗試用range(cells(行1,列1),cells(行2,列2))這種形式,比較靈活;

2.也可以用cells(行,列)這樣的形式表示單元格;

3.還可以用columns(列)表示一列;

4.也可以用range(columns(列1),columns(列2))來表示連續的多列。

這裡的"行"和"列"都是整數,不是字母,數字有時會比字母更靈活。

11樓:李夏璇鈕浩

workbooks(1).sheets(2).range(cells(2,m),

cells(2012,m)).value

range

引用單元格時,變數只能為行如range("a"&m)表示a列第m行的單元格

excel vba中如何定義陣列,並賦值

陽光上的橋 for each i in array 1,6,8,18,19,20,25,62,63,64 msgbox i i next i 表裡如一 dim i as integer,aaa 9 as integer aaa array sub a dim aaa 9 aaa 0 1 aaa 1 ...

vba中和有什麼區別嗎,excel vba中, 是什麼意思,與 有什麼區別?

可以用於對方法引數的賦值 比如你定義了一個方法m elem1 as elem2 as 在呼叫這個方法的時候 m elem11,elem21 可以寫成 m elem1 elem11,elem2 elem21這樣說好像看不出來區別 這樣比較看看 m2 elem1 as elem2 as elem3 as...

excel len函式,excel中len函式是什麼意思,如何使用?

1.len函式的含義 表示返回文字串的字元數。2.len函式的語法格式 len text 3.len函式案列 如圖所示,len函式常常和其他函式結合起來使用。輸入公式 b3 right c3,len c3 5 使用len函式得出字串的長度,再用right函式擷取字串。4.len函式使用的注意點 1 ...