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

具体过程就是在编程时,程序中的计算要用的数据有一部分是需要从一个excel表格中调用,类似一个成绩单一样,表格内容是人名及每一科成绩,现在需要计算总分,每个人都要算,最终... 具体过程就是在编程时,程序中的计算要用的数据有一部分是需要从一个excel表格中调用,类似一个成绩单一样,表格内容是人名及每一科成绩,现在需要计算总分,每个人都要算,最终计算结果再重新输出到这个表格相应的位置,应该如何实现,求大神指点…… 展开
 我来答
敏锐还宁静丶行家0
2012-08-14 · TA获得超过6870个赞
知道大有可为答主
回答量:3502
采纳率:0%
帮助的人:1777万
展开全部
给楼主提个建议:以后尽量把表描述清楚些。比如标题几行、列包括哪些等等。。
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
追问
我自己已经解决了,谢谢了……
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式