VB处理EXCEL数据方法

合集下载

VB中用ADO连接excel2003的方法

VB中用ADO连接excel2003的方法

VB中用ADO连接excel2003的方法想用VB直接调用显示excel2003中的数据,结果老是不成功,试验了一下午,终于找到一个简单的办法:1.先在窗体中添加一个ADODC控件和MSHFlexGrid控件(DataGrid控件也可以,用来显示数据)。

(当然,这几个控件都要先在部件菜单中添加。

)2.设置ADODC控件的属性:(关键步骤)(1)在ADODC控件上右击,选择ADODC属性-通用-使用连接字符串,点击后面的“生成”。

(2)在弹出的数据链接属性窗口中,提供程序-选中Microsoft Jet 4.0 OLE DB Provider,点击下一步。

(3)连接-选择或输入数据库名称------点后面的3个点的按钮,选择要链接的excel文件。

注意:默认只显示mdb扩展名的文件,选中“所有文件”,就可以看到excel文件了。

(或者直接输入excel文件的路径)先不要点确定,点击“所有”选项卡。

看下一步(4)选中"Extended Properties"这一项,点击下面的“编辑值”按钮,输入“excel 8.0”,确定。

OK,ADODC控件的ConnectionString属性就设置完了(也可以直接在右边的属性窗口中设置,一样的。

)。

现在找到刚才有测试连接的那个页面,点测试连接,显示“测试连接成功”。

我们已经成功一半了。

3.设置ADODC控件的RecordSource属性:命令类型选择1-adCmdText,命令文本输入:“select* from [表1$] ” ,确定。

这一段命令文本是一句SQL查询语句,意思是查询表1中的所有内容。

(你也可以根据需要进行修改。

)至此,ADODC控件的关键属性设置完成。

下面只需要把MSHFlexGrid控件的DataSource属性设置成ADODC1,就可以在MSHFlexGrid控件中显示表1中的数据了。

(具体显示什么数据,由那条SQL语句决定,当然你可以在程序运行时修改。

vb操作EXCEL对CELLS的引用

vb操作EXCEL对CELLS的引用

使用 Vi‎s ual ‎B asic‎的普通任‎务是指定单‎元格或单元‎格区域,然‎后对该单元‎格或单元格‎区域进行一‎些操作,如‎输入公式或‎更改格式。

‎通常用一条‎语句就能完‎成操作,该‎语句可标识‎单元格,还‎可更改某个‎属性或应用‎某个方法。

‎在 V‎i sual‎Basi‎c中,R‎a nge ‎对象既可表‎示单个单元‎格,也可表‎示单元格区‎域。

下列主‎题说明了标‎识和处理‎R ange‎对象最常‎用的方法。

‎用 A‎1样式记‎号引用单元‎格和单元格‎区域可‎使用 Ra‎n ge 属‎性来引用‎A1 引用‎样式中的单‎元格或单元‎格区域。

下‎述子程序将‎单元格区域‎A1:D‎5的字体‎设置为加粗‎。

Su‎b For‎m atRa‎n ge()‎‎W orkb‎o oks(‎"Book‎1").S‎h eets‎("She‎e t1")‎.Rang‎e("A1‎:D5")‎.Font‎.Bold‎= Tr‎u eEn‎d Sub‎下表演示‎了使用 R‎a nge ‎属性的一些‎A1 样‎式引用。

‎引用‎‎‎‎含义‎R ange‎("A1"‎)‎‎单元‎格 A1‎R ange‎("A1:‎B5") ‎‎从单‎元格 A1‎到单元格‎B5 的‎区域Ra‎n ge("‎C5:D9‎,G9:H‎16") ‎多块选定区‎域Ran‎g e("A‎:A") ‎‎‎A列R‎a nge(‎"1:1"‎)‎‎第一行‎Rang‎e("A:‎C") ‎‎从‎A 列到‎C 列的‎区域Ra‎n ge("‎1:5")‎‎‎从第一行‎到第五行的‎区域Ra‎n ge("‎1:1,3‎:3,8:‎8") 第‎1、3 ‎和 8 行‎Rang‎e("A:‎A,C:C‎,F:F"‎) A 、‎C和 F‎列用‎编号引用单‎元格通‎过使用行列‎编号,可用‎Cell‎s属性来‎引用单个单‎元格。

在VB应用程序中实现对Excel的数据查询

在VB应用程序中实现对Excel的数据查询

I p e e a i no da aqu r oEx e B a l a i npr g a m l m nt to f t e yt c ln V pp i to o r m i c
N( Li — a tv n l
( p r n f o ue n ier g Hu ii n tueo T c n lg , a’n 2 3 0 , ia) De at t C mp tr gn ei , aynIsi t f eh oo y Hu i 2 0 1 Chn me o E n t a
技 术 与 方 法
T C E HN QUE AN I D ME HOD T
第1 9卷第 1 期
V0 . 9 NO 1 11 .
文章编 :10—4 1(OO 0 585 2 )叭 一000 L 0 5.3
在 VB应用程序中实现对 E cl xe的数据查询
王 留洋
2 30 ) 20 1 摘 婴 :在 对 E cl 件 中的 数据 进 行 分析 后 ,本 文提 出利 用 结 构 化 查 绚 语 言 (Q x e文 S L)查 询 E c l 件 中 x e文 ( 阴 工 学 院 计 算机 工 程 系, 淮 安 淮
数 据 的解 决 方 案 ,介 绍 在 VB 中如 何 通 过 IA 和 OD C驱 动程 序 对 E c l 的数 据 用 S SM B xe 中 QL进 行 数 据 查询 ,
通 过 实例 说 明建 表 和 执 行 查 询 时 的 注 意 点 。
父 键 诃 : 应 用程 序 ;E cl x e;数据 查 询 ;数 据 库 I 网 分 类 :T 3 } . P1 之袱 ' :A 1 1 、
为 程 序 员基 于 W i d ws 作 平 台进 行 数 据 库 编 表 和 列 ( 称 为 域 ) no 操 也 ,因此 在 E c l x e 中必须 定 义 出

用VB操作Excel的方法

用VB操作Excel的方法

用VB操作Excel的方法VB是常用的应用软件开发工具之一,由于VB的报表功能有限,而且一但报表格式发生变化,就得相应修改程序,给应用软件的维护工作带来极大的不便。

因此有很多程序员现在已经充分利用EXECL的强大报表功来实现报表功能。

但由于VB与EXCEL由于分别属于不同的应用系统,如何把它们有机地结合在一起,是一个值得我们研究的课题。

一、 VB读写EXCEL表:VB本身提自动化功能可以读写EXCEL表,其方法如下:1、在工程中引用Microsoft Excel类型库:从"工程"菜单中选择"引用"栏;选择Microsoft Excel 9.0 Object Library(EXCEL2000),然后选择"确定"。

表示在工程中要引用EXCEL类型库。

2、在通用对象的声明过程中定义EXCEL对象:Dim xlApp As Excel.ApplicationDim xlBook As Excel.WorkBookDim xlSheet As Excel.Worksheet3、在程序中操作EXCEL表常用命令:Set xlApp = CreateObject("Excel.Application") '创建EXCEL对象Set xlBook = xlApp.Workbooks.Open("文件名") '打开已经存在的EXCEL工件簿文件xlApp.Visible = True '设置EXCEL对象可见(或不可见)Set xlSheet = xlBook.Worksheets("表名") '设置活动工作表xlSheet.Cells(row, col) =值 '给单元格(row,col)赋值xlSheet.PrintOut '打印工作表xlBook.Close (True) '关闭工作簿xlApp.Quit '结束EXCEL对象Set xlApp = Nothing '释放xlApp对象xlBook.RunAutoMacros (xlAutoOpen) '运行EXCEL启动宏xlBook.RunAutoMacros (xlAutoClose) '运行EXCEL关闭宏4、在运用以上VB命令操作EXCEL表时,除非设置EXCEL对象不可见,否则VB程序可继续执行其它操作,也能够关闭EXCEL,同时也可对EXCEL进行操作。

vb读取excel数据

vb读取excel数据

取得excel文件所有内容:'add microsoft ado frist.Private Sub Command2_Click()Dim adoConnection As New ADODB.ConnectionDim adoRecordset As New ADODB.RecordsetCommonDialog1.ShowOpen'OLE DB + ODBC Driver 方式:'adoConnection.Open "Data Provider=MSDASQL.1;driver=Microsoft Excel Driver (*.xls);DBQ=e:\temp\book2.xls"'Microsoft.Jet.OLEDB.4.0 方式,(建?)adoConnection.Open "Provider=Microsoft.Jet.OLEDB.4.0;Persist Security Info=False;Data Source=" & CommonDialog1.FileName & ";Extended Properties='Excel 8.0;HDR=Yes'"adoRecordset.Open "select * from [sheet1$]", adoConnection, adOpenKeyset, adLockOptimisticDebug.Print adoRecordset.RecordCountDim i As IntegerDo Until adoRecordset.EOFFor i = 0 To adoRecordset.Fields.Count - 1Debug.Print adoRecordset.Fields.Item(0).NameDebug.Print adoRecordset.Fields.Item(0).ValueNext iadoRecordset.MoveNextLoopEnd Sub但还不知道如何取得sheet名,不好意思,那位老鸟知道请告知,谢谢sheet名用Excel.Application对象Dim xlApp As Excel.ApplicationDim xlBook As Excel.WorkbookSet xlApp = New Excel.ApplicationSet xlBook = xlApp.Workbooks.Open("C;\123.xls"))For i = 1 To intSheetSumstrTemp=xlBook.Worksheets(i).nameNext iDim xlsconn As New ADODB.ConnectionDim xlscmd As New mandDim rs As New ADODB.Recordsetxlsconn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:\1.xls;Extended Properties=HTML EXPORT;Persist SecurityInfo=False"xlsconn.OpenSet rs = xlsconn.Execute("select * from [sheet1]")set mshflexgrid.datasource=rsrs.closemshflexgrid.refreshDim xlsconn As New ADODB.ConnectionDim xlscmd As New mandDim rs As New ADODB.Recordsetxlsconn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:\1.xls;Extended Properties=excel 8.0;Persist SecurityInfo=False"xlsconn.OpenSet rs = xlsconn.Execute("select * from [sheet1]")set mshflexgrid.datasource=rsrs.closemshflexgrid.refresh新手为工作求救vb读取excel内数据所在行的某列数据悬赏分:60 - 解决时间:2006-7-26 20:44就是说行1A到3A是1\2\3,2A到2B为X\Y\Z我现在想要在VB里输入一个数字,在另一个TEXT框里得到对应的X列的数值,比如我在一个TEXT里输入3,在另一个TEXT就得到Z.然后把这个Z自动输入到一个新的EXCEL表里边.工作难找,大家帮帮本菜鸟吧,谢谢.(几乎是VB文盲,请您尽量别用太多专业术语,怕听不懂,我会尽力解答大家其他问题的,我是游戏高手.一共25分我拿了20分求救,留5分怕没听明白继续问...可怜啊,救命啊!)问题补充:谢谢前辈,说真的有不明白的,这些我在其他地方看过了,我最主要需要的就是在VB一个框里输入2,在另一个框里得到的就是EXCEL里列2对应的值Y(我这样的菜鸟很难解释清楚这个问题,希望理解的了),而不是得到2。

Excel中VBA进行批量替换内容的方法

Excel中VBA进行批量替换内容的方法

Excel中VBA进行批量替换内容的方法在Excel中,VBA(Visual Basic for Applications)是一种强大的编程语言,可以帮助我们自动化许多任务,包括批量替换。

本教程将详细介绍如何在Excel 中使用VBA进行批量替换,以便提高工作效率。

一、概念VBA是Visual Basic的一种宏语言版本,它被嵌入到Microsoft Office应用程序中,允许用户编写自己的函数和过程。

VBA也可以用于自动化Excel中的任务,例如批量替换。

二、功能在Excel中,我们可以使用VBA编写一个宏来实现批量替换的功能。

这可以大大节省时间和精力,特别是在处理大量数据时。

三、语法InStr函数:InStr函数用于在一个字符串中查找另一个字符串的位置。

它的语法如下:InStr([Start,] String1, String2[, Compare])参数说明:Start:可选参数,指定搜索的起始位置,默认为1(从第一个字符开始搜索)。

String1:必需参数,要搜索的原始字符串。

String2:必需参数,要查找的目标字符串。

Compare:可选参数,指定比较方式,默认为vbBinaryCompare(区分大小写)。

InStr函数返回一个整数,表示目标字符串在原始字符串中的位置。

如果找到目标字符串,则返回第一个匹配字符的位置;如果未找到,则返回0。

Replace函数:Replace函数用于在字符串中替换指定的子字符串。

它的语法如下:Replace(Expression, Find, ReplaceWith[, Start[, Count[, Compare]]])参数说明:Expression:必需参数,要进行替换操作的原始字符串。

Find:必需参数,要查找并替换的子字符串。

ReplaceWith:必需参数,用于替换的新字符串。

Start:可选参数,指定搜索的起始位置,默认为1(从第一个字符开始搜索)。

excel vb find函数用法 -回复

excel vb find函数用法 -回复

excel vb find函数用法-回复Excel VBA 中的FIND 函数用于在指定范围内查找特定的值,并返回该值的单元格引用或相应的行和列号。

首先,让我们来了解FIND 函数的基本语法:Range.Find(What, After, LookIn, LookAt, SearchOrder, SearchDirection, MatchCase, MatchByte, SearchFormat)下面逐一解释每个参数的作用:- What:要查找的内容,可以是字符串、日期、数字等。

- After:在指定范围后查找,可以是单元格地址或单元格引用。

如果未提供此参数,则从范围的第一个单元格开始查找。

- LookIn:要查找内容所在的位置,可以是单元格常量xlValues、xlFormulas 或xlComments。

- LookAt:查找方式,可以是单元格常量xlWhole(匹配整个单元格内容)或xlPart(匹配部分内容)。

- SearchOrder:查找顺序,可以是单元格常量xlByRows(逐行查找)或xlByColumns(逐列查找)。

- SearchDirection:查找方向,可以是单元格常量xlNext(向下或向右查找)或xlPrevious(向上或向左查找)。

- MatchCase:是否区分大小写,可以是True(区分)或False(不区分)。

- MatchByte:是否区分全角和半角字符,可以是True(区分)或False(不区分)。

- SearchFormat:是否使用单元格格式进行查找,可以是True 或False。

接下来,我们来详细说明FIND 函数在实际使用中的一些常见示例。

示例1:基本用法假设我们有一个包含学生姓名的数据表格,我们想要查找某个特定的学生姓名是否存在于表格中。

我们可以使用以下代码来实现:vbSub FindStudentName()Dim rng As RangeDim result As RangeDim studentName As String' 定义要查找的学生姓名studentName = "John Doe"' 将要查找的范围设置为数据表格Set rng = Sheet1.Range("A1:A10")' 查找学生姓名Set result = rng.Find(studentName)' 判断是否找到学生姓名If Not result Is Nothing ThenMsgBox "找到学生:" & result.ValueElseMsgBox "未找到学生:" & studentNameEnd IfEnd Sub上述代码首先定义了一个范围对象rng,它指定了要查找的范围。

Excel VBA方法

Excel VBA方法

Excel-VBA操作文件四大方法by agstick(From ExcelHome)在我们日常使用Excel的时候,不仅会用到当前Excel文件的数据,还经常需要访问其他的数据文件。

这些数据文件可能是Excel文件、文本文件或数据库文件等。

经常有朋友会问如何在vba代码里操作这些数据文件?本文就系统地介绍一下在Excel中应用VBA操作数据文件的方法。

本文主要介绍四种常用的方法:1、利用Excel对象来处理文件;2、利用VBA文件处理语句来处理文件;3、利用FileSystemObject对象来处理文件;4、利用API函数来处理文件。

当然对于数据库文件,还可以利用ADO+SQL的方法操作,不过论坛已经有前辈详细介绍过此类方法,本文就不再重复了。

一、利用Excel对象来处理文件利用Excel对象自带的方法来操作文件是最方便,也是最简单的。

我们主要利用Workbooks集合和Workbook对象的方法来操作文件。

1、打开Excel文件我们可以用Workbooks.Open方法打开一个Excel工作簿。

Workbooks.Open(FileName, UpdateLinks, ReadOnly, Format, Password, WriteResPassword, IgnoreReadOnlyRecommended, Origin, Delimiter, Editable, Notify, Converter, AddToMru, Local, CorruptLoad)其中FileName是必选的参数,表示要打开的工作簿名,如果没有指定路径,则代表当前路径。

另外14个是可选参数,除了密码参数,其他的一般很少用。

具体的含义可以参看VBA 的帮助。

例:Workbooks.Open "F:\test.xls"可以打开F盘的test.xls文件。

2、打开文本文件使用Open方法也可以打开文本文件,但建议使用OpenText方法。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

在VB中要想调用Excel,需要打开VB编程环境“工程”菜单中的“引用”项目,并选取项目中的“Microsoft Excel 11.0 object library”项。

由于你的Excel 版本不同,所以这个选项的版本号也是不同的。

因为EXCEL是以层次结构组织对象的,其对象模型中含有许多不同的对象元素。

第一层:Application对象,即Excel本身;
第二层:workbooks对象集,指Excel的工作簿文件;
第三层:worksheets对象集,表示的是Excel的一个工作表;
第四层:Cells和Range对象,指向Excel工作表中的单元格。

新建立一个VB的工程,先放一个button,名称为Excel_Out。

先定义好各层:
Dim xlapp As Excel.Application 'Excel对象
Dim xlbook As Excel.Workbook '工作簿
Dim xlsheet As Excel.Worksheet '工作表
我们打算做的是:打开/新建一个excel,在其中对某工作表的一些单元格修改其值,然后另存为test.xls文件。

Private Sub Excel_Out_Click()
Dim i, j As Integer
Set xlapp = CreateObject("Excel.Application") '创建EXCEL对象
'Set xlbook = xlapp.Workbooks.Open(App.Path & "\test.xls") '打开已经存在的test.xls工件簿文件
Set xlbook = xlapp.Workbooks.Add '新建EXCEL工件簿文件
'xlbook.RunAutoMacros (xlAutoOpen) '运行EXCEL启动宏
'xlbook.RunAutoMacros (xlAutoClose) '运行EXCEL关闭宏
xlapp.Visible = True '设置EXCEL对象可见(或不可见)
Set xlsheet = xlbook.Worksheets(1) '设置活动工作表''
''~~~当前工作簿的第一页,这里也可以换成“表名”
'下面就是简单的在一些单元格内写入数字
For i = 7 To 15
For j = 1 To 10
xlsheet.Cells(i, j) = j '当前工作簿第一页的第I行第J列
Next j
Next i
With xlsheet '设置边框为是实线
.Range(.Cells(7, 1), .Cells(28, 29)).Borders.LineStyle =
xlContinuous
End With
'引用当前工作簿的第二页
Set xlsheet = xlapp.Application.Worksheets(2)
xlsheet.Cells(7, 2) = 2008 '在第二页的第7行第2列写入2008 xlsheet.SaveAs App.Path & "\test.xls" '按指定文件名存盘
'Set xlbook = xlapp.Application.Workbooks.Add '新建一空白工作簿xlapp.Quit '结束EXCEL对象'xlapp.Workbooks.Close
Set xlapp = Nothing '释放xlApp对象
End Sub
这样,我们就可以简单的对excel文件进行操作了。

下面再放一些我从网上查到的资料吧,还挺有用的:
1.创建Excel对象
eole=CREATEOBJECT(′Excel.application′)
2.添加新工作簿
eole.Workbooks.add
3.设置第3个工作表为激活工作表
eole.Worksheets(〃sheet3〃).Activate
4.打开指定工作簿
eole.Workbooks.Open(〃c:\temp\ll.xls〃)
5.显示Excel窗口
eole.visible= true
6.更改Excel标题栏
eole.Caption=〃VB应用程序调用Microsoft Excel〃
7.给单元格赋值
eole.cells(1,4).value=XM(XM为数据库字段名)
8.设置指定列的宽度(单位:字符个数)
eole.ActiveSheet.Columns(1).ColumnWidth=5
9.设置指定行的高度(单位:磅)
eole.ActiveSheet.Rows(1).RowHeight=1/0.035
(设定行高为1厘米,1磅=0.035厘米)
10.在第18行之前插入分页符
eole.Worksheets(〃Sheet1〃).Rows(18).PageBreak=1
11.在第4列之前删除分页符
eole.ActiveSheet.Columns(4).PageBreak=0
12.指定边框线宽度(Borders参数如下)
ole.ActiveSheet.Range(〃b3:d3〃).Borders(2).Weight=3
13.设置四个边框线条的类型
eole.ActiveSheet.Range(〃b3:d3〃).Borders(2).LineStyle=1
(其中Borders参数:1-左、2-右、3-顶、4-底、5-斜、6-斜/;LineStyle 值:1与7-细实、2-细虚、4-点虚、9-双细实线)
14.设置页眉
eole.ActiveSheet.PageSetup.CenterHeader=〃报表1〃
15.设置页脚
eole.ActiveSheet.PageSetup.CenterFooter=〃第&P页〃
16.设置页眉到顶端边距为2厘米
eole.ActiveSheet.PageSetup.HeaderMargin=2/0.035
17.设置页脚到底边距为3厘米
eole.ActiveSheet.PageSetup.FooterMargin=3/0.035
18.设置顶边距为2厘米
eole.ActiveSheet.PageSetup.TopMargin=2/0.035
19.设置底边距为4厘米
eole.ActiveSheet.PageSetup.BottomMargin=4/0.035
20.设置左边距为2厘米
veole.ActiveSheet.PageSetup.LeftMargin=2/0.035
21.设置右边距为2厘米
eole.ActiveSheet.PageSetup.RightMargin=2/0.035
22.设置页面水平居中
eole.ActiveSheet.PageSetup.CenterHorizontally=.t.
23.设置页面垂直居中
eole.ActiveSheet.PageSetup.CenterVertically=.t.
24.设置页面纸张大小(1-窄行8?5?11 39-宽行14?11)
eole.ActiveSheet.PageSetup.PaperSize=1
25.打印单元格网线
eole.ActiveSheet.PageSetup.PrintGridlines=.t.
26.拷贝整个工作表
edRange.Copy
27.拷贝指定区域
eole.ActiveSheet.Range(〃A1:E2〃).Copy
28.粘贴
eole.WorkSheet(〃Sheet2〃).Range(〃A1〃).PasteSpecial
29.在第2行之前插入一行
eole.ActiveSheet.Rows(2).Insert
30.在第2列之前插入一列
eole.ActiveSheet.Columns(2).Insert
31.设置字体
eole.ActiveSheet.Cells(2,1)=〃黑体〃
32.设置字体大小
eole.ActiveSheet.Cells(1,1).Font.Size=25
33.设置字体为斜体
eole.ActiveSheet.Cells(1,1).Font.Italic=.t.
34.设置整列字体为粗体
eole.ActiveSheet.Columns(1).Font.Bold=.t.
35.清除单元格公式
eole.ActiveSheet.Cells(1,4).ClearContents
36.打印预览工作表
eole.ActiveSheet.PrintPreview
37.打印输出工作表
eole.ActiveSheet.PrintOut
38.工作表另存为
eole.ActiveWorkbook.SaveAs(〃c:\temp\22.xls〃) 39.放弃存盘
eole.ActiveWorkbook.saved=.t.
40.关闭工作簿
eole.Workbooks.close
41.退出Excel
eole.quit。

相关文档
最新文档