如何用VB写一段代码获得Excel文件中已用部分的行数和列数?
各位网友,大家好啊:
我想用VB写这样一段代码,代码的功能是获得在Excel文件中已用部分的行数和列数,应该怎么来写呢?
我自己先用VB写了这样一段很简单的代码:
Dim obj1 As Excel.Application
Dim obj2 As Excel.Workbook
Set obj1 = CreateObject("Excel.Application")
Set obj2 = obj1.Workbooks.Open(fileName)
msgbox obj1.rows '代码运行到这里会出现"out of memory!"的运行错!
可是出现了错误啊!呜呜呜!
我想请问各位网友,正确的方法应该是什么啊?我先谢谢了哦! 问题点数:0、回复次数:6Top
1 楼ervinlj(阳光使者)回复于 2002-09-14 13:15:08 得分 0
怎么没有人能帮我解决这个问题呢?我急啊!这里应该不会没有这样的高手的把!Top
2 楼xiong5240(熊)回复于 2002-09-14 17:32:06 得分 0
你用遍历所有记录的方法“数”出已用的行数和列数啊!
Top
3 楼ervinlj(阳光使者)回复于 2002-09-14 19:44:11 得分 0
代码如何具体来写呢?举个详细的例子好吗?谢谢各位高手了哦!Top
4 楼Montaque(每天回答两个问题)回复于 2002-09-14 20:06:41 得分 0
Dim obja As New Excel.Application
Dim objWorkBook As New Excel.Workbook
Dim objWorksheet As New Excel.Worksheet
Set objWorkBook = obja.Workbooks.Open("d:/book2.xls")
obja.Visible = True
Set objWorksheet = objWorkBook.Worksheets(1)
For i = 1 To 65536
For j = 1 To 65536
If objWorksheet.Cells(i, j) <> "" Then
tempi = i '记录最大行和列
tempj = j
End If
Next
Next
不过会很慢!Top
5 楼xiong5240(熊)回复于 2002-09-14 20:39:11 得分 0
把FOR 换成 DO LOOP 语句 就会快点了!
结束循环的条件为:objWorksheet.Cells(i, 1) = ""
这样求出行数 求列数同理 那更简单了。Top
6 楼wantvb(ttvb)回复于 2002-09-17 22:29:19 得分 0
Dim rng As RangeDim i As Integer
Dim j As Integer
Set rng = ActiveWorkbook.ActiveSheet.UsedRange
i = rng.Rows.Count
j = rng.Columns.Count
试试看!