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方法。

vb操作excel的常见方法

vb操作excel的常见方法
则以下语句比上面的快 With Workbooks(1).Sheets(1).Range(″A1:A1000″).Font .Name = ″Pay″ .FontStyle = ″Bold″ ... End With
2.使用对象变量。
如果你发现一个对象引用被多次使用,则你可以将此对象用Set 设置为对象变量,以减少 对对象的访问。如: Workbooks(1).Sheets(1).Range(″A1″).Value = 100 Workbooks(1).Sheets(1).Range(″A2″).Value = 200 则以下代码比上面的要快: Set MySheet = Workbooks(1).Sheets(1) MySheet.Range(″A1″).Value = 100 MySheet.Range(″A使用定时器
如用何过在EExxcceell里97使里用的定加时载器宏 "定时保存" 吗?可惜它的源程序是加密的,现在就上传一篇介绍实 现在它O的ffic文e 档里。有个方法是 application.ontime ,具体函数如下: expression.OnTime(EarliestTime, Procedure, LatestTime, Schedule) 如这果个想函进数一是步用了来解安,排请一参个阅过程Ex在ce将l 的来帮的助特。定时间运行,(可为某个日期的指定时间,也可为 指定的时间段之后)。通过这个函数我们就可以在 Excel 里编写自己的定时程序了。下面就举 两1.在个下例午子来17说:00明:0它0 的。时候显示一个对话框。 Sub Run_it() Application.OnTime TimeValue("17:00:00"), "Show_my_msg" '设置定时器在 17:00:00 激活,激活后运行 Show_my_msg 。 End Sub Sub Show_my_msg() msg = MsgBox("现在是 17:00:00 !", vbInformation, "自定义信息") End Sub 2.模仿 Excel 97 里的 "自动保存宏",在这里定时 5 秒出现一次 Sub auto_open() MsgBox "欢迎你,在这篇文档里,每 5 秒出现一次保存的提示!", vbInformation, "请注意!" Call runtimer '打开文档时自动运行 End Sub Sub runtimer() Application.OnTime Now + TimeValue("00:00:05"), "saveit" ' Now + TimeValue("00:15:00") 指定在当前时间过 5 秒钟开始运行 Saveit 这个过程。 End Sub Sub SaveIt() msg = MsgBox("朋友,你已经工作很久了,现在就存盘吗?" & Chr(13) _ & "选择是:立刻存盘" & Chr(13) _ & "选择否:暂不存盘" & Chr(13) _ & "选择取消:不再出现这个提示", vbYesNoCancel + 64, "休息一会吧!") '提示用户保存当前活动文档。

Vb-net操作excel实例

Vb-net操作excel实例

操作excel实例以前做了vb6.0操作excel的实例,后来转换成c#操作excel,再后来又转换成操作excel,通过比较,同样是运行在。

.net环境下,但是明显要比c#快很多。

我做的是成绩统计软件,一个窗体。

俩控件:菜单和打开文件对话框。

子程序目录:1、算成绩(m)。

2、成绩册(m)。

3、横排(h,l)。

4、纵排(h,l)。

5、单科统计表(m,n)。

6、算分栏(h)。

7、单科汇总(i)。

8、填数据(m)。

9、清数据(m)。

10、上报表(m)。

11、工作表命名()。

12、过成绩(m)。

13、打开()。

14、建空表(m)。

15、无英语学校汇总(m)。

16、有英语学校汇总(m)。

17、计算器。

编码主要分为主程序和子程序两个模块。

注意:要添加引用excel。

Imports System.IOPublic Class 统计成绩Public 调用= New 子程序()Public 电子表格As Excel.Application '定义变量Public 工作簿As Excel.WorkbookPublic 工作表As Excel.WorksheetPublic 单元格As Excel.RangePrivate Sub 一年级ToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles 一年级ToolStripMenuItem.ClickCall 调用.建空表(10)Call 调用.工作表命名(1)Call 调用.成绩册(1)End SubPrivate Sub 二年级ToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles 二年级ToolStripMenuItem.ClickCall 调用.建空表(10)Call 调用.工作表命名(2)Call 调用.成绩册(2)End SubPrivate Sub 三年级ToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles 三年级ToolStripMenuItem.ClickCall 调用.建空表(8)Call 调用.工作表命名(3)Call 调用.成绩册(3)End SubPrivate Sub 四年级ToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles 四年级ToolStripMenuItem.ClickCall 调用.建空表(8)Call 调用.工作表命名(3)Call 调用.成绩册(3)End SubPrivate Sub 五年级ToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles 五年级ToolStripMenuItem.ClickCall 调用.建空表(8)Call 调用.工作表命名(3)Call 调用.成绩册(3)End SubPrivate Sub 六年级ToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles 六年级ToolStripMenuItem.ClickCall 调用.建空表(8)Call 调用.工作表命名(3)Call 调用.成绩册(3)End SubPrivate Sub 学校总评ToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles 学校总评ToolStripMenuItem.ClickCall 调用.建空表(1)Dim nj(6) As Stringnj(1) = "一年级" : nj(2) = "二年级" : nj(3) = "三年级" : nj(4) = "四年级" : nj(5) = "五年级" : nj(6) = "六年级"'建立积分表Dim 工作表= 调用.工作簿.Worksheets("sheet1")工作表.Name = "学校积分"工作表.Range(工作表.Cells(1, 1), 工作表.Cells(1, 9)).MergeCells = True工作表.Cells(1, 1) = "学校积分统计表"工作表.Cells(2, 1) = "学校"工作表.Cells(3, 1) = "南村小学"工作表.Cells(4, 1) = "东风小学"工作表.Cells(5, 1) = "兴中小学"工作表.Cells(6, 1) = "尧场小学"For i = 1 To 6工作表.Cells(2, i + 1) = nj(i) + "积分"Next工作表.Cells(2, 8) = "均积分"工作表.Cells(2, 9) = "名次"工作表.Range(工作表.Cells(2, 1), 工作表.Cells(6, 9)).Borders.LineStyle = 1 '表格加线Dim h = 6, l = 9单元格= 工作表.Range(工作表.Cells(1, 1), 工作表.Cells(h, l)) '设置行高和列宽单元格.HorizontalAlignment = Excel.Constants.xlCenter '水平居中单元格.RowHeight = 工作表.Application.CentimetersToPoints(Math.Round((21.3 - 3 * 2) / h, 2)) 工作表.Range(工作表.Cells(2, 1), 工作表.Cells(11, 1)).ColumnWidth = 16.13工作表.Range(工作表.Cells(2, 2), 工作表.Cells(h, l)).ColumnWidth = Math.Round((29.7 - 3.69 - 1.9 * 2) / (l - 1) * 4.374, 2) 工作表.PageSetup.Orientation = Excel.XlPageOrientation.xlLandscape '横向打印End SubPrivate Sub 上报ToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles 上报ToolStripMenuItem.ClickCall 调用.建空表(2)调用.上报表()End SubPrivate Sub 全部表册ToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles 全部表册ToolStripMenuItem.ClickDirectory.CreateDirectory("C:\Documents and Settings\Administrator\桌面\成绩统计") '建立文件夹调用.建空表(10) '一年级Call 调用.工作表命名(1) : Call 调用.成绩册(1)调用.工作簿.SaveAs("C:\Documents and Settings\Administrator\桌面\成绩统计\一年级.xls")调用.工作簿.close()调用.电子表格.quit()调用.建空表(10) '二年级Call 调用.工作表命名(2) : Call 调用.成绩册(2)调用.工作簿.SaveAs("C:\Documents and Settings\Administrator\桌面\成绩统计\二年级.xls")调用.工作簿.close()调用.电子表格.quit()调用.建空表(8) '三年级Call 调用.工作表命名(3) : Call 调用.成绩册(3)调用.工作簿.SaveAs("C:\Documents and Settings\Administrator\桌面\成绩统计\三年级.xls")调用.工作簿.close()调用.电子表格.quit()调用.建空表(8) '四年级Call 调用.工作表命名(4) : Call 调用.成绩册(4)调用.工作簿.SaveAs("C:\Documents andSettings\Administrator\桌面\成绩统计\四年级.xls")调用.工作簿.close()调用.电子表格.quit()调用.建空表(8) '五年级Call 调用.工作表命名(5) : Call 调用.成绩册(5)调用.工作簿.SaveAs("C:\Documents and Settings\Administrator\桌面\成绩统计\五年级.xls")调用.工作簿.close()调用.电子表格.quit()调用.建空表(8) '六年级Call 调用.工作表命名(6) : Call 调用.成绩册(6)调用.工作簿.SaveAs("C:\Documents and Settings\Administrator\桌面\成绩统计\六年级.xls")调用.工作簿.close()调用.电子表格.quit()Call 调用.建空表(1) '学校总评Dim nj(6) As Stringnj(1) = "一年级" : nj(2) = "二年级" : nj(3) = "三年级" : nj(4) = "四年级" : nj(5) = "五年级" : nj(6) = "六年级"'建立积分表Dim 工作表= 调用.工作簿.Worksheets("sheet1")工作表.Name = "学校积分"工作表.Range(工作表.Cells(1, 1), 工作表.Cells(1,9)).MergeCells = True工作表.Cells(1, 1) = "学校积分统计表"工作表.Cells(2, 1) = "学校"工作表.Cells(3, 1) = "南村小学"工作表.Cells(4, 1) = "东风小学"工作表.Cells(5, 1) = "兴中小学"工作表.Cells(6, 1) = "尧场小学"For i = 1 To 6工作表.Cells(2, i + 1) = nj(i) + "积分"Next工作表.Cells(2, 8) = "均积分"工作表.Cells(2, 9) = "名次"工作表.Range(工作表.Cells(2, 1), 工作表.Cells(6, 9)).Borders.LineStyle = 1 '表格加线Dim h = 6, l = 9单元格= 工作表.Range(工作表.Cells(1, 1), 工作表.Cells(h, l)) '设置行高和列宽单元格.HorizontalAlignment = Excel.Constants.xlCenter '水平居中单元格.RowHeight = 工作表.Application.CentimetersToPoints(Math.Round((21.3 - 3 * 2) / h, 2)) 工作表.Range(工作表.Cells(2, 1), 工作表.Cells(11, 1)).ColumnWidth = 16.13工作表.Range(工作表.Cells(2, 2), 工作表.Cells(h, l)).ColumnWidth = Math.Round((29.7 - 3.69 - 1.9 * 2) / (l - 1) * 4.374, 2) 工作表.PageSetup.Orientation = Excel.XlPageOrientation.xlLandscape '横向打印调用.工作簿.SaveAs("C:\Documents and Settings\Administrator\桌面\成绩统计\学校总评.xls")调用.工作簿.close()调用.电子表格.quit()Call 调用.建空表(2)调用.上报表()调用.工作簿.SaveAs("C:\Documents and Settings\Administrator\桌面\成绩统计\上报.xls")调用.工作簿.close()调用.电子表格.quit()MessageBox.Show("生成的‘成绩统计’文件夹已存在桌面。

用VB操作Excel 教程

用VB操作Excel 教程

用VB操作Excel(VB6.0)(整理)全面控制Excel:首先创建Excel对象,使用ComObj:Dim ExcelID as Excel.ApplicationSet ExcelID as new Excel.Application1)显示当前窗口:ExcelID.Visible:=True;2)更改Excel标题栏:ExcelID.Caption:='应用程序调用MicrosoftExcel';3)添加新工作簿:ExcelID.WorkBooks.Add;4)打开已存在的工作簿:ExcelID.WorkBooks.Open('C:\Excel\Demo.xls');5)设置第2个工作表为活动工作表:ExcelID.WorkSheets[2].Activate;或ExcelID.WorkSheets['Sheet2'].Activate;6)给单元格赋值:ExcelID.Cells[1,4].Value:='第一行第四列';7)设置指定列的宽度(单位:字符个数),以第一列为例:ExcelID.ActiveSheet.Columns[1].ColumnsWidth:=5;8)设置指定行的高度(单位:磅)(1磅=0.035厘米),以第二行为例:ExcelID.ActiveSheet.Rows[2].RowHeight:=1/0.035;//1厘米9)在第8行之前插入分页符:ExcelID.WorkSheets[1].Rows[8].PageBreak:=1;10)在第8列之前删除分页符:ExcelID.ActiveSheet.Columns[4].PageBreak:=0;11)指定边框线宽度:ExcelID.ActiveSheet.Range['B3:D4'].Borders[2].Weight:=3; 1-左 2-右 3-顶4-底 5-斜(\) 6-斜(/)12)清除第一行第四列单元格公式:ExcelID.ActiveSheet.Cells[1,4].ClearContents;13)设置第一行字体属性:ExcelID.ActiveSheet.Rows[1]:='隶书';ExcelID.ActiveSheet.Rows[1].Font.Color :=clBlue;ExcelID.ActiveSheet.Rows[1].Font.Bold :=True;ExcelID.ActiveSheet.Rows[1].Font.UnderLine:=True;14)进行页面设置:a.页眉:ExcelID.ActiveSheet.PageSetup.CenterHeader:='报表演示';b.页脚:ExcelID.ActiveSheet.PageSetup.CenterFooter:='第&P页';c.页眉到顶端边距2cm:ExcelID.ActiveSheet.PageSetup.HeaderMargin:=2/0.035;d.页脚到底端边距3cm:ExcelID.ActiveSheet.PageSetup.HeaderMargin:=3/0.035;e.顶边距2cm:ExcelID.ActiveSheet.PageSetup.TopMargin:=2/0.035;f.底边距2cm:ExcelID.ActiveSheet.PageSetup.BottomMargin:=2/0.035;g.左边距2cm:ExcelID.ActiveSheet.PageSetup.LeftMargin:=2/0.035;h.右边距2cm:ExcelID.ActiveSheet.PageSetup.RightMargin:=2/0.035;i.页面水平居中:ExcelID.ActiveSheet.PageSetup.CenterHorizontally:=2/0.035; j.页面垂直居中:ExcelID.ActiveSheet.PageSetup.CenterVertically:=2/0.035; k.打印单元格网线:ExcelID.ActiveSheet.PageSetup.PrintGridLines:=True;15)拷贝操作:a.拷贝整个工作表:ed.Range.Copy;b.拷贝指定区域:ExcelID.ActiveSheet.Range['A1:E2'].Copy;c.从A1位置开始粘贴:ExcelID.ActiveSheet.Range.['A1'].PasteSpecial;d.从文件尾部开始粘贴:ExcelID.ActiveSheet.Range.PasteSpecial;16)插入一行或一列:a.ExcelID.ActiveSheet.Rows[2].Insert;b.ExcelID.ActiveSheet.Columns[1].Insert;17)删除一行或一列:a.ExcelID.ActiveSheet.Rows[2].Delete;b.ExcelID.ActiveSheet.Columns[1].Delete;18)打印预览工作表:ExcelID.ActiveSheet.PrintPreview;19)打印输出工作表:ExcelID.ActiveSheet.PrintOut;20)工作表保存:IfnotExcelID.ActiveWorkBook.SavedthenExcelID.ActiveSheet.PrintPreviewEndif ????打印预览21)工作表另存为:ExcelID.SaveAs('C:\Excel\Demo1.xls');22)放弃存盘:ExcelID.ActiveWorkBook.Saved:=True;23)关闭工作簿:ExcelID.WorkBooks.Close;24)退出Excel:ExcelID.Quit;25)设置工作表密码:ExcelID.ActiveSheet.Protect"123",DrawingObjects:=True,Cont ents:=True,Scenarios:=True26)EXCEL的显示方式为最大化ExcelID.Application.WindowState=xlMaximized27)工作薄显示方式为最大化ExcelID.ActiveWindow.WindowState=xlMaximized28)设置打开默认工作薄数量ExcelID.SheetsInNewWorkbook=329)'关闭时是否提示保存(true保存;false不保存)ExcelID.DisplayAlerts=False30)设置拆分窗口,及固定行位置ExcelID.ActiveWindow.SplitRow=1ExcelID.ActiveWindow.FreezePanes=True31)设置打印时固定打印内容ExcelID.ActiveSheet.PageSetup.PrintTitleRows="$1:$1"32)设置打印标题ExcelID.ActiveSheet.PageSetup.PrintTitleColumns=""33)设置显示方式(分页方式显示)ExcelID.ActiveWindow.View=xlPageBreakPreview34)设置显示比例ExcelID.ActiveWindow.Zoom=10035)让Excel响应DDE请求Ex.Application.IgnoreRemoteRequests=False用VB操作EXCEL示例代码Private Sub Command3_Click()On Error GoTo err1Dim i As LongDim j As LongDim objExl As Excel.Application '声明对象变量Me.MousePointer=11 '改变鼠标样式Set objExl=New Excel.Application'初始化对象变量objExl.SheetsInNewWorkbook=1 '将新建的工作薄数量设为1 objExl.Workbooks.Add'增加一个工作薄objExl.Sheets(objExl.Sheets.Count).Name="book1" '修改工作薄名称objExl.Sheets.Add,objExl.Sheets("book1")‘增加第二个工作薄在第一个之后objExl.Sheets(objExl.Sheets.Count).Name="book2"objExl.Sheets.Add,objExl.Sheets("book2")‘增加第三个工作薄在第二个之后objExl.Sheets(objExl.Sheets.Count).Name="book3"objExl.Sheets("book1").Select '选中工作薄<book1>For i=1 To 50'循环写入数据For j=1 To 5If i=1 ThenobjExl.Selection.NumberFormatLocal="@" '设置格式为文本objExl.Cells(i,j)="E"&i&jElseobjExl.Cells(i,j)=i&jEndIfNextNextobjExl.Rows("1:1").Select '选中第一行objExl.Selection.Font.Bold=True '设为粗体objExl.Selection.Font.Size=24 '设置字体大小objExl.Cells.EntireColumn.AutoFit '自动调整列宽objExl.ActiveWindow.SplitRow=1 '拆分第一行objExl.ActiveWindow.SplitColumn=0 '拆分列objExl.ActiveWindow.FreezePanes=True '固定拆分objExl.ActiveSheet.PageSetup.PrintTitleRows="$1:$1" '设置打印固定行objExl.ActiveSheet.PageSetup.PrintTitleColumns=""'打印标题objExl.ActiveSheet.PageSetup.RightFooter="打印时间:"&_Format(Now,"yyyy年mm月dd日hh:MM:ss")objExl.ActiveWindow.View=xlPageBreakPreview'设置显示方式objExl.ActiveWindow.Zoom=100 '设置显示大小'给工作表加密码objExl.ActiveSheet.Protect"123",DrawingObjects:=True, _ Contents:=True,Scenarios:=TrueobjExl.Application.IgnoreRemoteRequests=FalseobjExl.Visible=True '使EXCEL可见objExl.Application.WindowState=xlMaximized'EXCEL的显示方式为最大化objExl.ActiveWindow.WindowState=xlMaximized'工作薄显示方式为最大化objExl.SheetsInNewWorkbook=3 '将默认新工作薄数量改回3个Set objExl=Nothing'清除对象Me.MousePointer=0 '修改鼠标ExitSuberr1:objExl.SheetsInNewWorkbook=3objExl.DisplayAlerts=False '关闭时不提示保存 objExl.Quit'关闭EXCELobjExl.DisplayAlerts=True '关闭时提示保存Set objExl=NothingMe.MousePointer=0End Sub。

EXCEL_VBA应用教程

EXCEL_VBA应用教程

EXCEL VBA应用教程--第1讲什么是EXCEL VBA第1讲什么是EXCEL VBA作者:/landmao1.1 为什么要学习EXCEL VBA现在,财务软件已经趋于普及,会计人员的工作效率大幅度提高,减轻了会计人员大工作强度。

财务软件但优点是从数据但输入、处理、输出实现了一体化,在会计数据但利用方面,尽管财务软件一直都作改进,但客观上还是满足不了管理工作但要求。

因此,作实际工作中,EXCEL被大量应用,EXCEL但特点是简单易用,操作灵活,大大地弥补了会计软件地不足。

但是,EXCEL处理数据的缺点是,每一步都要人工操作和控制,对重复性的工作,每次都要重复去作。

EXCEL VBA能够将重复的工作编写成程序,这样就能够提高效率和避免人为操作的错误。

1.2 什么是VBAVBA(Visual Basic For Applications)是微软开发出来在其桌面应用程序中执行通用的自动化(OLE)任务的编程语言。

VBA是Visual Basic的一个子集,VBA 不同于VB,原因是VBA要求有一个宿主应用程序才能远行(需要在EXCEL等软件的运行下才能运行),而且不能用于创建独立应用程序。

而VB可用于创建独立的应用程序。

VBA可使常用的过程或者进程自动化,可以创建自定义的解决方案,最适用于来定制已有的桌面应用程序。

通常意义上的VBA就是在Office中包含着的一种加强Office功能的Basic 语言。

经过发展,在Office中,Word、Excel、Access、PowerPoint等个软件都有了自己的程序设计语言,分别称为WordBasic、ExcelBasic、AccessBasic、PowerPointBasic (在Outlook中的开发语言为Visual Basic Scripting Edition)。

通常统一称为VBA(VB for Application)。

本讲座,主要基于EXCEL VBA进行讲解。

excel表格中vb应用实例1

excel表格中vb应用实例1

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("表名") '设置活动工作表xlApp.Cells(row, col) =值 '给单元格(row,col)赋值XLApp.Cells(i, 1).Interior.ColorIndex = i'设计单元格颜色i=1--56xlSheet.PrintOut '打印工作表xlBook.Close (True) '关闭工作簿xlApp.Quit '结束EXCEL对象Set xlApp = Nothing '释放xlApp对象xlBook.RunAutoMacros (xlAutoOpen) '运行EXCEL启动宏xlBook.RunAutoMacros (xlAutoClose) '运行EXCEL关闭宏自己用代码就可以获取颜色列表了Sub yansecode()For i = 1 To 56XlApp.Cells(i, 1) = ixlapp.Cells(i, 1).Interior.ColorIndex = iNextEnd Sub4、在运用以上VB命令操作EXCEL表时,除非设置EXCEL对象不可见,否则VB程序可继续执行其它操作,也能够关闭EXCEL,同时也可对EXCEL进行操作。

通过VBA把Excel数据写入txt文件中

通过VBA把Excel数据写入txt文件中

通过VBA把Excel数据写入txt文件中在处理数据时,我们可能需要将Excel中的数据写入到txt文件中。

这样的需求可以通过使用VBA(Visual Basic for Applications)编程实现。

以下是详细的步骤和注意事项。

一、概念Excel:Microsoft Excel是一款广泛使用的电子表格软件,可以用于处理和分析数据。

txt文件:txt文件是一种纯文本文件,常用于存储无格式的简单文本信息。

VBA:Visual Basic for Applications是一种由Microsoft开发的编程语言,主要用于Microsoft Office软件的自动化。

二、功能通过VBA编程,我们可以实现以下功能:读取Excel中的数据。

创建和写入txt文件。

按照特定格式写入数据。

三、语法以下是将Excel数据写入txt文件的基本VBA语法:Sub WriteToTextFile()' 定义工作表、文件路径和文件名称Dim ws As WorksheetSet ws = ThisWorkbook.Sheets("Sheet1")Dim FilePath As StringFilePath = "C:\Temp\output.txt"' 打开一个新的文件流Dim FileNumber As IntegerFileNumber = FreeFile' 创建或打开文件Open FilePath For Output As #FileNumber' 遍历工作表的每一行Dim Row As RangeFor Each Row In edRange.Rows' 将每一行的内容写入到txt文件中Write #FileNumber, Join(Application.Transpose(Application.Transpose(Row)), vbTab) Next Row' 关闭文件流Close #FileNumberEnd Sub四、案例假设我们有一个名为"Sheet1"的工作表,包含以下内容:我们希望将这些数据写入到一个名为"output.txt"的txt文件中,文件路径为"C:\Temp"。

vb调用excel方法大全

vb调用excel方法大全

在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 IntegerSet 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 15For j = 1 To 10xlsheet.Cells(i, j) = j '当前工作簿第一页的第I行第J列Next jNext iWith xlsheet '设置边框为是实线.Range(.Cells(7, 1), .Cells(28, 29)).Borders.LineStyle = xlContinuousEnd With'引用当前工作簿的第二页Set xlsheet = xlapp.Application.Worksheets(2)xlsheet.Cells(7, 2) = 2008 '在第二页的第7行第2列写入2008xlsheet.SaveAs App.Path & "\test.xls" '按指定文件名存盘'Set xlbook = xlapp.Application.Workbooks.Add '新建一空白工作簿xlapp.Quit '结束EXCEL对象'xlapp.Workbooks.CloseSet xlapp = Nothing '释放xlApp对象End Sub这样,我们就可以简单的对excel文件进行操作了。

用VB操作excel方法汇总

用VB操作excel方法汇总

用VB操作excel方法汇总Private Sub Command3_Click()Dim i As LongDim j As LongDim objExl As Excel.Application '声明对象变量Me.MousePointer = 11 '改变鼠标样式Set objExl = New Excel.Application '初始化对象变量objExl.SheetsInNewWorkbook = 1 '将新建的工作薄数量设为1'增加一个工作薄objExl.Sheets( = "book1" '修改工作薄名称, objExl.Sheets("book1") '增加第二个工作薄在第一个之后objExl.Sheets( = "book2", objExl.Sheets("book2") '增加第三个工作薄在第二个之后objExl.Sheets( = "book3"objExl.Sheets("book1").Select '选中工作薄<book1>For i = 1 To 50 '循环写入数据For j = 1 To 5If i = 1 Then= "@" '设置格式为文本objExl.Cells(i, j) = " E " & i & jElseobjExl.Cells(i, j) = i & jEnd IfNextNextobjExl.Rows("1:1").Select '选中第一行= True '设为粗体= 24 '设置字体大小'自动调整列宽= 1 '拆分第一行= 0 '拆分列= True '固定拆分= "$1:$1" '设置打印固定行= "" '打印标题= "打印时间: " & _For mat(Now, "yyyy年mm月dd日 hh:MM:ss")= xlPageBreakPreview '设置显示方式= 100 '设置显示大小'给工作表加密码"123", DrawingObjects:=True, _Contents:=True, Scenarios:=True = FalseobjExl.Visible = True '使EXCEL可见= xlMaximized 'EXCEL的显示方式为最大化= xlMaximized '工作薄显示方式为最大化objExl.SheetsInNewWorkbook = 3 '将默认新工作薄数量改回3个 Set objExl = Nothing '清除对象Me.MousePointer = 0 '修改鼠标Exit SubEnd Sub全面控制 Excel首先创建 Excel 对象,使用ComObj:Dim ExcelID as Excel.ApplicationSet ExcelID as new Excel.Application1) 显示当前窗口:ExcelID.Visible := True;2) 更改 Excel 标题栏:ExcelID.Caption := '应用程序调用 Microsoft Excel';3) 添加新工作簿:;4) 打开已存在的工作簿: 'C:\Excel\Demo.xls' );5) 设置第2个工作表为活动工作表:ExcelID.WorkSheets[2].Activate;或 ExcelID.WorkSheets[ 'Sheet2' ].Activate;6) 给单元格赋值:ExcelID.Cells[1,4].Value := '第一行第四列';7) 设置指定列的宽度(单位:字符个数),以第一列为例::= 5;8) 设置指定行的高度(单位:磅)(1磅=0.035厘米),以第二行为例::= 1/0.035; // 1厘米9) 在第8行之前插入分页符:ExcelID.WorkSheets[1].Rows[8].PageBreak := 1;10) 在第8列之前删除分页符::= 0;11) 指定边框线宽度:'B3:D4' ].Borders[2].Weight := 3;1-左 2-右3-顶 4-底5-斜( \ ) 6-斜( / )12) 清除第一行第四列单元格公式:,4].ClearContents;13) 设置第一行字体属性::= '隶书';:= clBlue;:= True;:= True;14) 进行页面设置:a.页眉: := '报表演示';b.页脚: := '第&P页';c.页眉到顶端边距2cm: := 2/0.035;d.页脚到底端边距3cm: := 3/0.035;e.顶边距2cm: := 2/0.035;f.底边距2cm: := 2/0.035;g.左边距2cm: := 2/0.035;h.右边距2cm: := 2/0.035;i.页面水平居中: := 2/0.035;j.页面垂直居中: := 2/0.035;k.打印单元格网线: := True;15) 拷贝操作:a.拷贝整个工作表:;b.拷贝指定区域: 'A1:E2' ].Copy;c.从A1位置开始粘贴: 'A1' ].PasteSpecial;d.从文件尾部开始粘贴:;16) 插入一行或一列:a. ;b. ;17) 删除一行或一列:a. ;b. ;18) 打印预览工作表:;19) 打印输出工作表:;20) 工作表保存:If not thenEnd if21) 工作表另存为:FileName:="C:\Excel\Demo1.xls"22) 放弃存盘::= True;23) 关闭工作簿:;24) 退出 Excel:ExcelID.Quit;25) 设置工作表密码:"123", DrawingObjects:=True, Contents:=True, Scenarios:=True26) EXCEL的显示方式为最大化= xlMaximized27) 工作薄显示方式为最大化= xlMaximized28) 设置打开默认工作薄数量ExcelID.SheetsInNewWorkbook = 329) '关闭时是否提示保存(true 保存;false 不保存)ExcelID.DisplayAlerts = False30) 设置拆分窗口,及固定行位置= 1= True31) 设置打印时固定打印内容= "$1:$1"32) 设置打印标题= ""33) 设置显示方式(分页方式显示)= xlPageBreakPreview34) 设置显示比例= 100Excel 语句集300定制模块行为(1) Option Explicit '强制对模块内所有变量进行声明Option Private Module '标记模块为私有,仅对同一工程中其它模块有用,在宏对话框中不显示Option Compare Text '字符串不区分大小写Option Base 1 '指定数组的第一个下标为1(2) On Error Resume Next '忽略错误继续执行VBA代码,避免出现错误消息(3) On Error GoTo ErrorHandler '当错误发生时跳转到过程中的某个位置(4) On Error GoTo 0 '恢复正常的错误提示(5) Application.DisplayAlerts=False '在程序执行过程中使出现的警告框不显示(6) Application.ScreenUpdating=False '关闭屏幕刷新Application.ScreenUpdating=True '打开屏幕刷新(7) '禁用Ctrl+Break中止宏运行的功能工作簿(8) Workbooks.Add() '创建一个新的工作簿(9) Workbooks(“book1.xls”).Activate '激活名为book1的工作簿(10) ThisWorkbook.Save '保存工作簿(11) ThisWorkbook.close '关闭当前工作簿(12) '获取活动工作薄中工作表数(13) '返回活动工作薄的名称(14) ‘返回当前工作簿名称ThisWorkbook.FullName ‘返回当前工作簿路径和名称(15) ActiveWindow.EnableResize=False ‘禁止调整活动工作簿的大小(16) xlArrangeSt yleTiled ‘将工作簿以平铺方式排列(17) ActiveWorkbook.WindowState=xlMaximized ‘将当前工作簿最大化工作表(18) ‘当前工作表中已使用的行数(19) Rows.Count ‘获取工作表的行数(注:考虑向前兼容性)(20) Sheets(Sheet1).Name= “Sum” '将Sheet1命名为Sum(21) Before:=Worksheets(1) '添加一个新工作表在第一工作表前(22) ActiveSheet.Move After:=ActiveWorkbook. _Sheets( '将当前工作表移至工作表的最后(23) Worksheets(Array(“sheet1”,”sheet2”)).Select '同时选择工作表1和工作表2(24) Sheets(“sheet1”).Delete或 Sheets(1).Delete '删除工作表1(25) ActiveWorkbook.Sheets(i).Name '获取工作表i的名称(26) ActiveWindow.DisplayGridlines=Not ActiveWindow.DisplayGridlines '切换工作表中的网格线显示,这种方法也可以用在其它方面进行相互切换,即相当于开关按钮(27) ActiveWindow.DisplayHeadings=Not ActiveWindow.DisplayHeadings ‘切换工作表中的行列边框显示(28) ‘删除当前工作表中所有的条件格式(29) ‘取消当前工作表所有超链接(30)或 '将页面设置更改为横向(31) ‘在页面设置的表尾中输入文件路径‘将用户名放置在活动工作表的页脚单元格/单元格区域(32)或Range(ActiveCell.End(xlUp),ActiveCell.End(xlDown)).Select'选择当前活动单元格所包含的范围,上下左右无空行(33) Cells.Select ‘选定当前工作表的所有单元格(34) Range(“A1”).ClearContents '清除活动工作表上单元格A1中的内容Selection.ClearContents '清除选定区域内容Range(“A1:D4”).Clear '彻底清除A1至D4单元格区域的内容,包括格式(35) Cells.Clear '清除工作表中所有单元格的内容(36) ActiveCell.Offset(1,0).Select '活动单元格下移一行,同理,可下移一列(37) Range(“A1”).Offset(ColumnOffset:=1)或Range(“A1”).Offset(,1) ‘偏移一列Range(“A1”).Offset(Rowoffset:=-1)或Range(“A1”).Offset(-1) ‘向上偏移一行(38) Range(“A1”).Copy Range(“B1”) '复制单元格A1,粘贴到单元格B1中Range(“A1:D8”).Copy Range(“F1”) '将单元格区域复制到单元格F1开始的区域中Range(“A1:D8”).Cut Range(“F1”) '剪切单元格区域A1至D8,复制到单元格F1开始的区域中Range(“A1”).CurrentRegion.Copy Sheets(“Sheet2”).Range(“A1”) '复制包含A1的单元格区域到工作表2中以A1起始的单元格区域中注:CurrentRegion属性等价于定位命令,由一个矩形单元格块组成,周围是一个或多个空行或列(39) '将值XX输入到所选单元格区域中(40) '活动窗口中选择的单元格数(41) Selection.Count '当前选中区域的单元格数(42) GetAddress=Replace(Hyperlinkcell.Hyperlinks(1).Address,mailto:,””) ‘返回单元格中超级链接的地址并赋值(43) TextColor=Range(“A1”).Font.ColorIndex ‘检查单元格A1的文本颜色并返回颜色索引Range(“A1”).Interior.ColorIndex ‘获取单元格A1背景色(44) cells.count ‘返回当前工作表的单元格数(45) Selection.Range(“E4”).Select ‘激活当前活动单元格下方3行,向右4列的单元格(46) Cells.Item(5,”C”) ‘引单元格C5Cells.Item(5,3) ‘引单元格C5(47) Range(“A1”).Offset(RowOffset:=4,ColumnOffset:=5)或Range(“A1”).Offset(4,5) ‘指定单元格F5(48) Range(“B3”).Resize(RowSize:=11,ColumnSize:=3)Rnage(“B3”).Resize(11,3) ‘创建B3:D13区域(49) Range(“Data”).Resize(,2) ‘将Data区域扩充2列(50) Union(Range(“Data1”),Range(“Data2”)) ‘将Data1和Data2区域连接(51) Intersect(Range(“Data1”),Range(“Data2”)) ‘返回Data1和Data2区域的交叉区域(52) Range(“Data”).Count ‘单元格区域Data中的单元格数Range(“Data”). Columns.Count ‘单元格区域Data中的列数Range(“Data”). Rows.Count ‘单元格区域Data中的行数(53) ‘当前选中的单元格区域中的列数‘当前选中的单元格区域中的行数(54) ‘选中的单元格区域所包含的区域数(55) ‘获取单元格区域中使用的第一行的行号(56) Rng.C olumn ‘获取单元格区域Rng左上角单元格所在列编号(57) ‘在活动工作表中返回所有符合条件格式设置的区域(58) Range(“A1”).AutoFilter Field:=3,VisibleDropDown:=False ‘关闭由于执行自动筛选命令产生的第3个字段的下拉列表名称(59) Range(“A1:C3”).Name=“computer” ‘命名A1:C3区域为computer或Range(“D1:E6”).Name=“Sheet1!book” ‘命名局部变量,即Sheet1上区域D1:E6为book或Names(“computer”).Name=“robot” ‘将区域computer重命名为robot(60) Names(“book”).Delete ‘删除名称(61) Names.Add Name:=“ContentList”,_RefersTo:=“=OFFSET(Sheet1!A2,0,0,COUNTA(Sheet2!$A:$A))” ‘动态命名列(62) Names.Add Name:=“Company”,RefersTo:=“CompanyCar” ‘命名字符串CompanyCar(63) Names.Add Name:=“Total”,RefersTo:=123456 ‘将数字123456命名为Total。

visual basic读取excel的方法 -回复

visual basic读取excel的方法 -回复

visual basic读取excel的方法-回复Visual Basic (VB) 是一种基于事件驱动的编程语言,广泛用于开发Microsoft Windows平台上的应用程序。

在VB中,我们可以使用Microsoft Office的对象模型来读取和处理Excel文件。

本文将分步介绍使用VB读取Excel文件的方法。

首先,我们需要在VB项目中添加对Microsoft Office的引用。

步骤如下:1. 打开VB项目,然后选择"项目"菜单,再选择"添加引用"。

2. 在弹出的对话框中,选择"COM"选项卡。

3. 滚动列表,找到"Microsoft Excel Object Library",然后勾选它。

4. 点击"确定"按钮,完成引用的添加。

接下来,我们需要创建一个Excel应用程序的实例,并打开Excel文件。

代码示例如下:vbDim xlApp As New Excel.ApplicationDim xlWorkBook As Excel.WorkbookDim xlWorkSheet As Excel.WorksheetxlWorkBook =xlApp.Workbooks.Open("C:\Path\To\Your\Excel\File.xlsx") xlWorkSheet = xlWorkBook.Sheets(1)上述代码中,我们创建了一个Excel应用程序实例`xlApp`,然后利用该实例打开了一个Excel文件。

其中,`"C:\Path\To\Your\Excel\File.xlsx"`表示你要读取的Excel文件的完整路径。

`Sheets(1)`表示我们打开文件后选择的是第一个工作表,你可以根据需求修改该参数。

接下来,我们可以使用各种方法来读取Excel文件中的数据。

VB6.0控制EXCEL进行报表设计及打印!

VB6.0控制EXCEL进行报表设计及打印!

VB6.0控制EXCEL进行报表设计及打印!在工控程序的开发中,经常涉及到数据信息的分析、加工,最终还需把统计结果形成各种形式的报表打印输出。

在Visual Basic中制作报表,通常是用数据环境设计器(DataEnvironment Designer)与数据报表设计器(Data Report Designer),或者使用第三方产品来完成。

但对于大多数习惯于Excel报表的用户而言,用以上方法生成的报表在格式和功能等方面往往不能满足他们的要求。

由于Excel具有自己的对象库,在Visual Basic工程中可以加以引用,通过对Excel使用OLE自动化,可以创建一些外观整洁的报表,然后打印输出。

这样实现了Visual Basic应用程序对Excel的控制。

本文将针对一个具体实例,阐述基于VB和EXCEL的报表设计及打印过程。

1)创建Excel对象Excel对象模型包括了128个不同的对象,从矩形、文本框等简单的对象到透视表,图表等复杂的对象。

下面简单介绍一下其中最重要,也是用得最多的五个对象。

(1)Application对象:Application对象处于Excel对象层次结构的顶层,表示 Excel自身的运行环境。

(2)Workbook对象:Workbook对象直接地处于Application 对象的下层,表示一个Excel工作薄文件。

(3)Worksheet对象:Worksheet对象包含于Workbook对象,表示一个Excel工作表。

(4)Range对象:Range对象包含于Worksheet对象,表示Excel工作表中的一个或多个单元格。

(5)Cells对象:Cells对象包含于Worksheet对象,表示Excel 工作表中的一个单元格。

如果要启动一个Excel,使用Workbook和Worksheet对象,下面的代码启动了Excel并创建了一个新的包含一个工作表的工作薄:Dim zsbexcel As Excel.ApplicationSet zsbexcel = New Excel.Applicationzsbexcel.Visible = True如要Excel不可见,可使zsbexcel.Visible = Falsezsbexcel.SheetsInNewWorkbook = 1Set zsbworkbook = zsbexcel.Workbooks.Add2)设置单元格和区域值要设置一张工作表中每个单元格的值,可以使用Worksheet对象的Range属性或Cells属性。

  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。

相关文档
最新文档