ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 效率神器,一键搞定繁琐工作
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
让更多数据处理,一键完成 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
查看: 1472|回复: 0

求助给位高手,编辑的VBA代码无法更改单元格内的数值

[复制链接]

TA的精华主题

TA的得分主题

发表于 2012-11-20 10:47 | 显示全部楼层 |阅读模式
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
我想通过VBA实现如下功能,如图:

表中cells(3,2)和cells(4,2)是两个输入量(给出初始量),各列都被worksheet函数编辑过,经运算得到最后一列(H11:H27)是误差,我的目的是想通过给定一个范围和步长(通过两个for循环)来找出使H11:H27的平方和最小的数值(反映在cells(3,2)和cells(4,2))。cells(3,3)是用来监控平方和的计算结果的。但现在运行下面的代码,cells(3,2)和cells(4,2)和cells(3,3)还有H11:H27没有变化。我搞不明白了,所以求给位高手帮忙看看,我才接触VBA,因为论坛中高手的帮助,我得以很快入门,非常感谢给位的帮助
代码如下
Sub baichang()
Dim sumtol As Double, temp As Double, Lz0 As Double, Ly0 As Double, zstep As Double, ystep As Double
Set myRange1 = Worksheets("Sheet1").Range("H11:H27")
Set myRange2 = Worksheets("Sheet1").Range("G32:G45")
sumtol = Application.WorksheetFunction.SumSq(myRange1)+Application.WorksheetFunction.SumSq(myRange2)
Worksheets(1).Cells(3, 3).Value=sumtol
For zstep = -30 To 30 Step 0.01
    Lz0 = Worksheets(1).Cells(3, 2).Value
    Lz0 = Lz0+zstep
    For ystep = -20 To 20 Step 0.01
        Ly0 = Worksheets(1).Cells(4, 2).Value
        Ly0 = Ly0+ystep
        Application.ScreenUpdating = True
        temp = Application.WorksheetFunction.SumSq(myRange1)+Application.WorksheetFunction.SumSq(myRange2)
        If sumtol - temp>0 Then
            Worksheets(1).Cells(3, 3).Value=temp
            sumtol = temp
            Worksheets(1).Cells(3, 2).Value=Lz0
            Worksheets(1).Cells(4, 2).Value=Ly0
        EndIf
        If  ystep=20 Then
            Exit For
        EndIf
        Next
        If zstep=30 Then
          Exit for
        Endif
    Next
End Sub
   



该贴已经同步到 Dolza的微博
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

手机版|关于我们|联系我们|ExcelHome

GMT+8, 2024-11-22 19:36 , Processed in 0.036196 second(s), 10 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

沪公网安备 31011702000001号 沪ICP备11019229号-2

本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:李志群律师

快速回复 返回顶部 返回列表