Excel精英培训网

 找回密码
 注册
数据透视表40+个常用小技巧,让你一次学会!
12
返回列表 发新帖
楼主: admin0301

[已解决]知道两数差3,两数和55,怎样用VBA算出两数各是多少?

[复制链接]
发表于 2012-10-5 16:53 | 显示全部楼层
admin0301 发表于 2012-10-5 16:23
老师可不可以把TEXTBOX1和textbox2设置成变量,当我任意输入数据时根据输入的数字去算结果

直接在表格里输入? 不用窗体,是这样不?
excel精英培训的微信平台,每天都会发送excel学习教程和资料。扫一扫明天就可以收到新教程
回复

使用道具 举报

 楼主| 发表于 2012-10-5 17:00 | 显示全部楼层
hwc2ycy 发表于 2012-10-5 16:53
直接在表格里输入? 不用窗体,是这样不?

还在窗体上输入,只不过输入的内容是变化,不像刚才那样只是差3和55
回复

使用道具 举报

 楼主| 发表于 2012-10-5 17:03 | 显示全部楼层
hwc2ycy 发表于 2012-10-5 16:53
直接在表格里输入? 不用窗体,是这样不?

比如我在窗体输入1,55,得到结果27.28
输入2,56,得到结果27,29
输入6,58,得到结果26,32
等等
回复

使用道具 举报

 楼主| 发表于 2012-10-5 17:04 | 显示全部楼层
hwc2ycy 发表于 2012-10-5 16:53
直接在表格里输入? 不用窗体,是这样不?

输入2,55,得到结果两个小数,小数保留2位置
回复

使用道具 举报

发表于 2012-10-5 17:08 | 显示全部楼层
admin0301 发表于 2012-10-5 17:03
比如我在窗体输入1,55,得到结果27.28
输入2,56,得到结果27,29
输入6,58,得到结果26,32
  1. Private Sub 递归计算_Click()
  2.     Dim i1 As Long
  3.     Dim i2 As Long
  4.     Dim iC As Long, iH As Long
  5.     Dim iok As Boolean
  6.     If VBA.IsNumeric(TextBox1.Text) And VBA.IsNumeric(TextBox2.Text) Then
  7.         iC = TextBox1.Text
  8.         iH = TextBox2.Text
  9.         i1 = (iH - iC) \ 2
  10.         i2 = i1 + iC
  11.         
  12.         If i1 + i2 = iH Then iok = True
  13.     End If
  14.     If iok Then
  15.         [a5] = i1
  16.         [b5] = i2
  17.         
  18.     Else
  19.         [a5] = ""
  20.         [b5] = ""
  21.         MsgBox "非法数据,请重新输入"
  22.     End If
  23. End Sub
复制代码
我之前的代码里限定了3,现在可以了。
回复

使用道具 举报

 楼主| 发表于 2012-10-5 17:20 | 显示全部楼层
hwc2ycy 发表于 2012-10-5 17:08
我之前的代码里限定了3,现在可以了。

为什么输入2.55报错
回复

使用道具 举报

发表于 2012-10-7 19:37 | 显示全部楼层
非整数也要算吗?
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|Excel精英培训 ( 豫ICP备11015029号 )

GMT+8, 2024-5-4 09:17 , Processed in 0.156899 second(s), 7 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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