vb中有没有函数获取Excel中表格的行数

vb中有没有函数获取Excel中表格的行数,第1张

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的逐行读取等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://www.54852.com/web/9712632.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-01
下一篇2023-05-01

发表评论

登录后才能评论

评论列表(0条)

    保存