溜溜问答 > 日常办公 > Excel > 怎样使用Excel编程?
高傑西
高傑西
邀请你来回答
65人阅读 2022-04-12

怎样使用Excel编程?

我是新人,Excel一点不懂,有那位好人能帮帮我啊!谢谢最好讲的详细一点。我要的是怎样运用方程式进行预算,填写表格用的。
我要回答
2个回答

1 在工作本菜单上的工具栏上右键选中“Visual Basic”,把安全改为“中”或“低”,如果这里不首先修改,可能无法运行任何VBA程序。

2 Excel编程使用的是VBA编程,VBA是VB子集合,所以语法上和VB是一样的,关键字也一样,只是设计到Excel的那部分对象的时候,要先明白Excel的对象结构。

3 Excel的对象并不复杂:简单的说就是如下:

每个Excel(我指的是从windows的快捷方式打开后)便已经有一个application对象。application.workbooks就是对应同一个excel的application对象所打开的不同的工作本集合,application.workbooks.workbook就是工作本集合里的一个实例,而application.workbooks.workbook.worksheets就是同一个工作本以内的工作表集合,同样道理,application.workbooks.workbook.worksheets.worksheet就是指具体到某一个工作表。

对象的层次结构大概如下:excel程序(application)->工作本集合(workbooks)->工作本(workbook)->工作表集合(worksheets)->工作表(worksheet)

在worksheet对象里面,包含了range(),cells()等方法访问具体的单元格或者单元范围,一切的编程从两个range(),cells()开始的。

由于限制这里的表达方式问题,其实有两个很简单的方法可以学习excel的一切。

a. 使用录入宏,然后打开宏的代码。(这些动作在Visual Basic附加工具条上可以找到)

b. 完全安装excel之后,在帮助菜单上有很完整的介绍,包括编程的,对象模型的,这些都要了解后才可能编程。

Excel早已超越了一般的表格软件了,建议从帮助开始看,慢慢了解,如果你愿意的话。我平时都用这个来工作,从dbf文件,access,sql server里面导入导出数据进行报表输出的。在excel里编程,却是有在传统的VB Form里面编程所不能体验的乐趣。

查看全部
2022-04-12
回复 采纳

我用VB连过。
下面是我当时写的一个函数,从SQLServer2000中导出查询结果的。调用就可以了。记得在工程--》引用 中添加Excel的引用 Microsoft Excel 11.0 Object Library
(可能是不同的版本)
另外把连接字符串改一下。
如果你要用到其他方面,可以加我285512334
Public Function ExporToExcel(strOpen As String, str_name As String)
'&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
'& 功能:导出数据到EXCEL
'& 用法:ExporToExcel(sql查询字符串,导出表的名称)
'&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
Dim adoRs As New ADODB.Recordset
Dim Irowcount As Integer
Dim Icolcount As Integer

Dim xlapp As New Excel.Application
Dim xlbook As Excel.Workbook
Dim xlsheet As Excel.Worksheet
Dim xlQuery As Excel.QueryTable

Dim strcn_out As String

strcn_out = "Provider=SQLOLEDB.1;PeRs_tongjiist Security Info=False;User ID=sa;pwd=sa;Initial Catalog=st_info;Data Source=(local)"
With adoRs
If .State = 1 Then
.Close
End If
.ActiveConnection = strcn_out
.CursorLocation = adUseClient
.CursorType = adOpenStatic
.LockType = adLockReadOnly
.Source = strOpen
.Open
End With
With adoRs
If .RecordCount < 1 Then
MsgboxName = MsgBox("没有记录!", vbOKOnly, "信息提示")
Exit Function
End If
Irowcount = .RecordCount '记录总数
Icolcount = .Fields.Count '字段总数
End With

Set xlapp = CreateObject("Excel.Application")
Set xlbook = Nothing
Set xlsheet = Nothing
xlapp.Caption = str_name

Set xlbook = xlapp.Workbooks().Add
Set xlsheet = xlbook.Worksheets("sheet1")
xlapp.Visible = True
Set xlQuery = xlsheet.QueryTables.Add(adoRs, xlsheet.Range("a1")) '添加查询语句,导入EXCEL数据
With xlQuery
.FieldNames = True
.RowNumbers = False
.FillAdjacentFormulas = False
.PreserveFormatting = True
.RefreshOnFileOpen = False
.BackgroundQuery = True
.RefreshStyle = xlInsertDeleteCells
.SavePassword = True
.SaveData = True
.AdjustColumnWidth = True
.RefreshPeriod = 0
.PreserveColumnInfo = True
End With

xlQuery.FieldNames = True '显示字段名
xlQuery.Refresh

With xlsheet
With .Range(.Cells(1, 1), .Cells(1, Icolcount))

.Font.Name = "宋体" '设标题为黑体字
.Font.Bold = True '标题字体加粗
'.Interior.Color = &HC0FFC0 '设定第一行颜色
.ColumnWidth = 18
End With

With .Range(.Cells(1, 2), .Cells(1, 2)) '设定列宽度
.ColumnWidth = 10
End With
With .Range(.Cells(1, 3), .Cells(1, 3))
.ColumnWidth = 20
End With
With .Range(.Cells(1, 5), .Cells(1, 5))
.ColumnWidth = 10
End With
With .Range(.Cells(1, 6), .Cells(1, 6))
.ColumnWidth = 6
End With

With .Range(.Cells(2, 1), .Cells(Irowcount + 1, 1))
.Font.Name = "楷体"
'.Interior.Color = &H80FFFF '第一列颜色
End With
End With
On Error GoTo yes
'第一种方法:调用保存函数xlApp.SaveWorkspace
'第二种方法,后台saveas,指定目录
Position = App.Path & "\统计数据存档\" & str_name & ".xls"
xlbook.SaveAs Position
'第三种方法,用户关闭时,自己保存
xlapp.Application.Visible = True
yes:
Set xlapp = Nothing '交还控制给Excel
Set xlbook = Nothing
Set xlsheet = Nothing
End Function

查看全部
2022-04-12
(1) 回复 采纳

相关问题

如何在Excel中使用VBA编程?
共2条回答 >
康绍一: 1、首先要打开开发工具选项。详见百度经验《如何打开Excel的“开发工具”工具栏》?picindex=1开发工具栏里面有viSUalbasic、宏、录制宏等按钮。点击viSUalbasic就可以进行编程了。2、技巧。vba语言方便易学,但在Excel的控件名称有很多是初学者不熟悉的,所以要借用录制宏功能,由系统帮我们编写大量的代码,我们只做代码优化的工作。录制结束后点开宏,查看这个宏记录的vba代码。3、使用相对引用功能很重要。对于循环执行的代码,单元格引用的时候就不是固定的range("a1"....
回复
如何在Excel中使用vba编程?
共2条回答 >
。。。。。。: 1、首先要打开开发工具选项。详见百度经验《如何打开Excel的“开发工具”工具栏》?picindex=1开发工具栏里面有viSUalbasic、宏、录制宏等按钮。点击viSUalbasic就可以进行编程了。2、技巧。vba语言方便易学,但在Excel的控件名称有很多是初学者不熟悉的,所以要借用录制宏功能,由系统帮我们编写大量的代码,我们只做代码优化的工作。录制结束后点开宏,查看这个宏记录的vba代码。3、使用相对引用功能很重要。对于循环执行的代码,单元格引用的时候就不是固定的range("a1"....
回复
Excel vba怎么编程 Excel vba编程教程?
共1条回答 >
朝阳: excelvba编程教程:  点击Windows左下方,“开始”-“程序”-“MicrosoftOffice”-“MicrosoftOfficeExcel2003”,打开Excel,如下图示。  点击按下图所示,点击菜单“工具”-“宏”-“VisualBasic编辑器”  然后会出现“VisualBasic编辑器&rd....
回复
Excel表格怎么使用phy编程?
共1条回答 >
大漠狂沙-左荣胜: excel电子表格编程的方法:首先打开软件点击【文件-选项】选项;然后点击自定义功能区,勾选开发工具,点击确定;最后在VBA窗口选择插入【模块】,新建一个模块,在右边编辑框输入代码即可。
(24) 回复
Excel可以使用c#编程吗?
共1条回答 >
岑児๑ : 可以通过自动化过程,使用诸如VisualC#.NET这样的语言编写的应用程序就可以用编程方式来控制其他应用程序。利用Excel的自动化功能,您可以执行诸如新建工作簿、向工作簿添加数据或创建图表等操作。对于Excel和其他MicrosoftOffice应用程序,几乎所有可以通过用户界面手动执行的操作也都可以通过使用“自动化”功能以编程方式来执行
(47) 回复
发表成功!
感谢您的分享!
好的
官方微信群

(微信添加“妙妙”或“笑笑”,邀您进群)