要在vb6.程序中调用excel表格中的数据用在程序计算中,并将计算结果输出到所调用数据的表格中

具体过程就是在编程时,程序中的计算要用的数据有一部分是需要从一个excel表格中调用,类似一个成绩单一样,表格内容是人名及每一科成绩,现在需要计算总分,每个人都要算,最终计算结果再重新输出到这个表格相应的位置,应该如何实现,求大神指点……

给楼主提个建议:以后尽量把表描述清楚些。比如标题几行、列包括哪些等等。。
Private Sub Command1_Click()
Dim xlsApp As Object, xlsWb As Object, xlsWs As Object '定义Excel对象
Set xlsApp = CreateObject("Excel.Application") '建立excel对象
Set xlsWb = xlsApp.Workbooks.Open("d:\Book1.xls") '要打开的文档路径。请用带全路径的文件名替换d:\Book1.xls。当然,你也可以用文件浏览获取文件路径。
Set xlsWs = xlsWb.Worksheets(1) '选工作表。多张表时通过序号指定不同的表
xlsWs.Activate '选定的工作表获得焦点
xlsApp.Visible = False '隐藏
Dim iRowCnt As Integer '行数
Dim iColCnt As Integer '列数
Dim m As Integer '当前行数
Dim n As Integer '当前列数
Dim zf As Integer '总分
iRowCnt = xlsWs.UsedRange.Rows.Count '总行数
iColCnt = xlsWs.UsedRange.Columns.Count '总列数
If iRowCnt > 1 Then '用实际的标题行数替换数字1
With xlsWs
nCount = 2 '把数字2用姓名所在的列数替换
m = 2 '用实际的标题行数+1替换数字2
Do While m <= iRowCnt
strCardNo = Trim(.cells(nCount, 2)) '用实际的标题行数+1替换数字2
'这里根据第二列数据为空判断记录结束
If Len(strCardNo) = 0 Then
Exit Do
Else
zf = 0 '循环前把总分归零
For n = 3 To iColCnt + 1 '把数字3用姓名所在的列数+1替换
If n = iColCnt + 1 Then
.cells(m, n) = zf
Else
zf = zf + .cells(m, n)
End If
Next n
m = m + 1
End If
Loop
End With
MsgBox "恭喜~~请求的操作已完成!", 64 + 0 + 4096, "提示"
Else
MsgBox "由于你选定的工作表没有数据,操作被终止!", 64 + 0 + 4096, "提示"
End If
xlsWb.Save
xlsWb.Close '关闭excel文件
xlsApp.Quit '退出excel
Set xlsWs = Nothing
Set xlsWb = Nothing
Set xlsApp = Nothing
End Sub追问

我自己已经解决了,谢谢了……

温馨提示:内容为网友见解,仅供参考
无其他回答

...用在程序计算中,并将计算结果输出到所调用数据的表格中
Private Sub Command1_Click()Dim xlsApp As Object, xlsWb As Object, xlsWs As Object '定义Excel对象 Set xlsApp = CreateObject("Excel.Application") '建立excel对象 Set xlsWb = xlsApp.Workbooks.Open("d:\\Book1.xls") '要打开的文档路径。请用带全路径的文件名替换d:\\Book1.xls。当...

如何用VB6.0实现用对话框选择excel文件,并调用其中数据存成数组后进行...
Dim a() As String, tem As String Dim i As Integer '运行前请"工程-引用" "Microsoft Excel 12.0 Object Library" 打钩 Dim xlApp As Excel.Application Dim xlBook As Excel.Workbook Dim xlSheet As Excel.Worksheet Dim j As Integer Private Sub Command1_Click()'xlApp.NewWorkbook.Ad...

用vb6.0调用Excel用编程编写如何获得数值在Excel单元格的哪行哪列
建议用find函数,并给定范围,以提升效率。举例如下:With Sheets(1).[A:Z] ‘范围为Sheet1 A到Z列当然更小更好 Set c = .Find("F001", LookIn:=xlValues) ‘找到包含目标的单元格 myrow = c.Row ‘给出单元格行数 mycol = c.Column ‘给出单元格列数 End With ...

怎么让VB6.0编写的程序计算出的结果输出到excel表中指定的单元格中?
首先要引用EXCELL类( Microsoft Excel 11.0 Object Library)dim XX as string '这个是你计算出的结果,我以字符类型为例 Dim xltmp As Excel.Application Dim xlBook As Excel.Workbook Dim xlsheet As Excel.Worksheet Set xltmp = New Excel.Application xltmp.Visible = False Set xlBook = ...

VB6.0 调用EXCEL表
CommonDialog,MSFlexGrid控件一个 Private Sub Command1_Click() On Error Resume Next Dim fileadd As String CommonDialog1.ShowOpen CommonDialog1.Filter = "xls文件(*.xls)|*.xls" '选择你要的文件 fileadd = CommonDialog1.FileName MSHFlexGrid1.Redraw = False '关闭表格重画,...

VB6.0程序调用Excel后,Excel进程无法关闭
Set ExcelBook = ExcelApp.Workbooks.Open("y:\\计划1.xls")Set ExcelSheet = ExcelBook.Worksheets("计划1")'===打开远程表格(计划1)结束=== '===保存并关闭远程表格(计划1)开始=== ExcelBook.Save ExcelBook.Close Set ExcelSheet = Nothing Set ExcelBook = Nothing Set ExcelApp = No...

vb6 从EXCEL中读取数据。。
打开Excel,点击工具菜单下宏--录制新宏。然后把你想要用程序实现,而自己又不会编程的操作都做一遍,停止录宏。然后再点击工具菜单下宏--宏,打开这个宏就可以了。你会发现你想要的代码都有实例了。当然,你也可以把每一个操作分别录宏,这样看起来就更清楚了。就这么简单,祝你好运。^_^ ...

如何用vb6.0外接程序设计excel2003中直接能调用的自定义函数
如果你往Excel中写入值可用函数调用,不写入值可用OLE控件调用。下面的VB连接Excel程序你可以参照。Dim OBJEXCEL As Excel.Application '定义Excel应用程序变量 Dim OBJXLS As Excel.Workbook '定义工作薄变量 Private Sub Command1_Click()Dim I, J As Integer '定义循环变量 Set OBJEXCEL = New Excel...

excel中如何调用vb6中的菜单编辑器功能键
1、需要在Excel中打开“开发者”选项卡。可以通过单击“文件”选项卡,然后选择“选项”>“自定义功能区”来打开“自定义功能区”面板,然后选择“开发者”选项卡。2、在“开发者”选项卡中,单击“VisualBasic”按钮,打开VisualBasic编辑器。3、在VisualBasic编辑器中,选择“插入”>“用户表单”或“...

如何在VB6.0中调用并运行Excel的宏
set XlsApp=createObject("Excel.Application")set XlsWkBook=XlsApp.workbooks.Open ("c:\\test.xls")XlsApp.run "我的宏名"

相似回答