
Dim rng As Range
Dim i As Integer, j As Integer
Set rng = xlActiveSheetUsedRange
i = rngRowsCount '已使用的行数
j = rngColumnsCount'已使用的列数
但是建议你不使用这种方式,比如你的excel有3行,然后你在第5行里写入数据,然后再把写的数据删了,此时得到的行数还是5只要用过了它就算在内
1、VB是常用的应用软件开发工具之一,由于VB的报表功能有限,而且一但报表格式发生变化,就得相应修改程序,给应用软件的维护工作带来极大的不便。因此有很多程序员现在已经充分利用EXECL的强大报表功来实现报表功能。
2、 VB读写EXCEL表:VB本身提自动化功能可以读写EXCEL表,其方法如下:
第一步:在工程中引用Microsoft Excel类型库:从"工程"菜单中选择"引用"栏;选择Microsoft Excel 90 Object Library(EXCEL2000),然后选择"确定"。表示在工程中要引用EXCEL类型库。
第二步:在通用对象的声明过程中定义EXCEL对象:Dim xlApp As ExcelApplicationDim xlBook As ExcelWorkBookDim xlSheet As ExcelWorksheet
第三步:在运用以上VB命令 *** 作EXCEL表时,除非设置EXCEL对象不可见,否则VB程序可继续执行其它 *** 作,也能够关闭EXCEL,同时也可对EXCEL进行 *** 作。但在EXCEL *** 作过程中关闭EXCEL对象时,VB程序无法知道,如果此时使用EXCEL对象,则VB程序会产生自动化错误。形成VB程序无法完全控制EXCEL的状况,使得VB与EXCEL脱节。
窗体上添加2个文本框,Text1和Text2,设置它们的MultiLine 属性为True,这样可以显示多行文本。
添加1个按钮Command1。
使用菜单:[工程] -- [引用] -- ,勾选:Microsoft Excel 110 Object Library
'其中110是不一定的,要看你计算机安装的OFFICE版本而定,110对应Office2003
代码如下:
Option Explicit
Private Sub Command1_Click()
Dim xlsApp As ExcelApplication '声明对象变量
Dim H As Long
Dim AStr As String
Dim BStr As String
Set xlsApp = ExcelApplication '实例化对象
xlsAppVisible = False '使Excel隐藏不可见
xlsAppWorkbooksOpen ("C:\book1xls") '打开EXCEL文件,假设文件名为book1xls,存放在C盘根目录
AStr = ""
BStr = ""
H = 1 '假设数据从第一行开始,如果第一行是列名称,就改为从2开始
Do While xlsAppApplicationActiveWorkbookSheets("Sheet1")Range("A" & CStr(H))Value <> ""
AStr = AStr & xlsAppApplicationActiveWorkbookSheets("Sheet1")Range("A" & CStr(H))Value & vbCrLf
BStr = BStr & xlsAppApplicationActiveWorkbookSheets("Sheet1")Range("B" & CStr(H))Value & vbCrLf
H = H + 1
Loop
Text1Text = AStr
Text2Text = BStr
xlsAppActiveWorkbookClose savechanges:=True '关闭活动工作簿同时保存对它的更改。
xlsAppQuit '关闭EXCELL
Set xlsApp = Nothing '释放资源
End Sub
下拉菜单你自己加进去就行了,东西是filelistbox,现在设file1为filelistbox的名字,那么:Dim obj As ExcelApplication
Set ExcelApp = CreateObject("ExcelApplication") '创建EXCEL对象
Set ExcelBook = ExcelAppWorkbooksOpen(File1Path & "\" & File1) '(打开excel文件,这里的file1path&"\"&file1 指的就是下拉菜单的excel的路径。
Set ExcelSheet = ExcelBookWorksheets(1)’现在就可以利用将excelsheet来读取所选的excel的行和列了。具体为:设置一个变量 dim k as integer,写一个循环以k=1到k=1000(假如你有1000行数据)比如我们读取b1-b1000的值那么就用text1text=ExcelSheetRange("b" & k)Value,然后在后面写一个延时句子,延迟1-2秒,然后完成一个循环,就可以看到text1中的值一直在变化而且是从B1到B1000的值
现在算是吧值取出来了,至于怎么附到grid里应该很容易,自己看着来吧……,希望能多加点分^-^
举例说明。
第一步:创建一个新的excel工作簿。
第二步:进入visual basic模式,插入模块。如图:
第三步:输入宏代码如下:
Sub test()
Sheets("sheet1")Select
Rows(10)Select
SelectionFontColor = 255
End Sub
代码功能:选中工作表sheet1,并将第10行的字体设置为红色。
第四步:运行宏test
第五步:在a10随意输入字符,查看字体颜色是否为红色。如图:
sub test()
Set xlsApp=GetObject(,"excelapplication")
if xlsApp Is Nothing then exit sub
msgbox xlsAppActiveCellValue
end sub
用Set xlsApp=GetObject(,"excelapplication")可以获得当前打开的excel程序
可以用xlsAppworkbooks(i)表示第i个打开的工作簿(也就是xls文件)
再往下是xlsAppworkbooks(i)sheets(j)表示上述工作簿的第j个工作表
再往下是xlsAppworkbooks(i)sheets(j)cells(rowIndex, ColIndex)表示上述工作表rowIndex行,ColIndex列的单元格,或者用类似xlsAppworkbooks(i)sheets(j)range("A1:B10")取得上述工作表中的A1:B10区域
如果在装office的时候选上“VBA帮助文件”,可以进excel后按alt + F11进入“Microsoft Visual basic”编辑器,然后按F1查看帮助中关于Excel对象模型以及相关对象、属性、方法、事件的介绍
首先需要知道你要引用的数据在Excel中的位置,然后在VB里面引用Excel,
然后打开Excel文件读数据
Dim scxls As ExcelApplication
Dim scbook As ExcelWorkbook
Dim scsheet As ExcelWorksheet
‘Set scxls = CreateObject("excelapplication")
‘Set scbook = scxlsWorkbooksAdd
Set scbook = scxlsWorkbooksopen("c:\1xls")
Set scsheet = scbookWorksheets(1)
‘scsheetCells(1, 2) = "1111" ’写入数据
a=scsheetCells(1, 2) '读取数据
Set scbook = Nothing
Set scxls = Nothing
‘scxlsVisible = True ’显示Excle
数据较多,且有规律可循时,请使用循环语句
先在VB里面建立一个Excel Object用以访问Excel文件,如果你的Excel是CSV的则不需要,直接按照Txt文本方式打开读取即可
建立Button事件,将获取的数据传入到TextBox里面即可
参考如下代码:
条件:我有一个Excel文件D:\Axls里面的Sheet1中A1开始有100个单词;在VB中Form1中有一个TextBox名字为Text1,有一个按钮,名字为Command1则实现代码如下:
Private i As Integer
Private Sub Command1_Click()
Set ExcelApp = CreateObject("ExcelApplication")
Set ExcelBook = ExcelAppWorkbooksOpen("D:\Axlsx")
Set ExcelSheet = ExcelBookWorksheets("Sheet1")
Text1Text = ExcelSheetcells(i, 1)
i = i + 1
If i > 100 Then i = 1
End Sub
Private Sub Form_Load()
i = 1
End Sub
希望可以帮助到你!
以上就是关于vb中有没有函数获取Excel中表格的行数全部的内容,包括:vb中有没有函数获取Excel中表格的行数、怎样用VB读取Excel文件中表格中的数据、VB怎样实现excel的逐行读取等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)