这个容易,我做过。
你已经做过一点了,那就表示已经在活动的工作表中了,下面就在这个工作表中操作。
Dim a() As String
Function Getvalue(ByVal Colu As String, ByVal Rowstart As Integer) As String()
'colu 为你要提取的列名(A B C ……);rowstart 为行的开始
Dim i As Integer: i = 0
Dim buf As String
buf = ActiveSheet.Cells(Rowstart, Asc(UCase(Colu)) - 64)
While buf <> "" '如果数据为空就退出。
ReDim Preserve a(i)
a(i) = buf
i = i + 1
buf = ActiveSheet.Cells(Rowstart + i, Asc(UCase(Colu)) - 64)
Wend
End Function
Sub ff()
Getvalue "c", 3
MsgBox a(0)
End Sub
这次在我的excel上试验通过的。
以下程序可以提取A列第1行到第100行的内容,你只需要改变数组a和i循环的范围即可,可以用inputbox
dim i as integer
dim a(100) as string
i=1
for i=1 to 100
a(i)=range("A"& i)
next
不论中文英文还是符号都可以的
给你一些网址让你参考
http://www.bccn.net/Article/kfyy/vb/bcsl/200703/4532.html
http://hi.baidu.com/%B4%F3%CA%A5%C3%C0%BA%EF%CD%F5/blog/item/e6143c3f2b8182ef54e723cd.html
可以用inputbox
dim i as integer
dim a(100) as string
i=1
for i=1 to 100
a(i)=range("A"& i)
next
已经写好了脚本,请看了再做决定 谢谢~
QQ:1031028525
mail:mfkickdx78@163.com