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行的單元格
VBA中RANGE如何引用變數,excel VBA中 Range函式將列作為變數怎麼表示?
庹甜恬 一項技能的學習過程中,最難的有兩個時間段,沒入門前不知道怎麼學,入門後不知道怎麼快速提高。反而當技術提高到一個層次後,能融會貫通,再看什麼都不那麼難了。我們每天講解一個vba的一個知識點,我們一起學習,共同進步。我們都知道range物件是excel應用程式中最常用的物件,一個range物件代...
在excel vba中,我有窗體,裡面有多個文字框,其中是計算其它所有文字框中值的總和
南軒龔清懿 私人小組commandbutton2 click 對於i 1到 a65536 結束 xlup 行?cells.find 什麼 textbox1.text,後 activecell 的。啟用 activecell.offset 0,5 啟用?如果activecell.formular1c1...
excel vba怎麼將工作表A中的多列資料複製到工作表B中,並使複製到B中的資料顯示出該資料的引用位置
權群 sheets 1 activate sheets 1 range a c copysheets 2 activate sheets 2 cells 1,1 selectsheets 2 paste 如果上面的不行就錄製一下巨集 然後修改 給你最簡單的 假設複製的列是 sheet1表a列 貼上的...