有excel表 A B C D E F
1 账号 姓名 金额 2 3024578 fhj 650 3 3058971 kkj 750 4 308922 ghj 900
要求实现金额这一列数字全部减少10,下面是几位高手给出的代码:
Dim ex As excel.Application
Dim wb As excel.Workbook
Dim sh As excel.WorksheetPrivate Sub Command1_Click()
Dim i As Long, A As Long
Count As Long
Set ex = New excel.Application
Set wb = ex.Workbooks.Open("c:\test.xls") ' 你的A文件
Set sh = wb.Sheets(1) '第一个工作表
Count = ex.Application.WorksheetFunction.CountA("C:C")
For i = 1 To Count
If sh.Cells(i + 1, 3) <> "" Then
sh.Cells(i, 3) = Val(sh.Cells(i + 1, 3)) - 10 难道这有问题吗?
End If
Next i
wb.Close SaveChanges:=True '直接关闭
ex.Quit
Set ex = Nothing
Set wb = Nothing
Set sh = NothingEnd Sub 可是我运行后,只把第一行减少了10,300变为290,其它行的金额数仍不变,请高手给指点,错在哪?好象没执行循环
1 账号 姓名 金额 2 3024578 fhj 650 3 3058971 kkj 750 4 308922 ghj 900
要求实现金额这一列数字全部减少10,下面是几位高手给出的代码:
Dim ex As excel.Application
Dim wb As excel.Workbook
Dim sh As excel.WorksheetPrivate Sub Command1_Click()
Dim i As Long, A As Long
Count As Long
Set ex = New excel.Application
Set wb = ex.Workbooks.Open("c:\test.xls") ' 你的A文件
Set sh = wb.Sheets(1) '第一个工作表
Count = ex.Application.WorksheetFunction.CountA("C:C")
For i = 1 To Count
If sh.Cells(i + 1, 3) <> "" Then
sh.Cells(i, 3) = Val(sh.Cells(i + 1, 3)) - 10 难道这有问题吗?
End If
Next i
wb.Close SaveChanges:=True '直接关闭
ex.Quit
Set ex = Nothing
Set wb = Nothing
Set sh = NothingEnd Sub 可是我运行后,只把第一行减少了10,300变为290,其它行的金额数仍不变,请高手给指点,错在哪?好象没执行循环
解决方案 »
- 如何使用RichTextBox控件讀取rtf文件的某一部分
- 求《Visual Basic 6.0实战讲座》
- 不用ADO连接,怎么用代码连接ODBC??? 小弟给分!!
- 多用户问题???急......
- 如何实现查询,给分100,在线等待!保证给分。谢谢
- 怎样能把插入“备注”型字段的文档再以原样(有段落、缩进)地在textbox中呈现。
- 谁可以回答我一个很傻的问题,VB如何连接VFP数据库?
- 散分!!!!!!!!!!!!!!
- 怎样设置才能让用户不能修改treeview各节点的text的内容
- 如何使程序最小化时能变为图标,同时间和输入法显示在一起?
- Winsock控件(UDP):无故引发DataArrival事件,10054错误:连接由远程端重新设置
- 当我一运行就出现"用户定义类型未定义"的错误提示.我用的是vb6.0,我在在工程中也引用 Microsoft
msgbox Val(sh.Cells(i + 1, 3))
sh.Cells(i, 3) = Val(sh.Cells(i + 1, 3)) - 10
msgbox sh.Cells(i, 3)
End If
*****************************************************************************
欢迎使用CSDN论坛专用阅读器 : CSDN Reader(附全部源代码) http://feiyun0112.cnblogs.com/
'------------------------
Count = ex.Application.WorksheetFunction.CountA("C:C")
For i = 1 To Count
If sh.Cells(i + 1, 3) <> "" Then
sh.Cells(i, 3) = Val(sh.Cells(i + 1, 3)) - 10 难道这有问题吗?
End If
Next i
'---------------------------
'上面一段改为这样式式
'-------------------------
i = 1
While Len(sh.Cells(i, 3)) <> 0
sh.Cells(i, 3) = val(sh.Cells(i, 3)) - 10
i = i + 1
Wend'--------------------------