Excel精英培训网

 找回密码
 注册
数据透视表40+个常用小技巧,让你一次学会!
查看: 1785|回复: 2

[已解决]代码完善:A列乘以任意数(对话框式)后在A列显示结果

[复制链接]
发表于 2016-5-16 23:10 | 显示全部楼层 |阅读模式
特殊用途需要,须用代码解决:

       想把A列乘以任意数(对话框式)后在A列显示结果。弄了一个代码,只能单步执行.
同时,若A列的最后一行为任意行,又该怎样做呢?(详见附件)
      求指导!
      谢谢关注!^_^

Sub 乘以任意倍率()
Dim x%, m(2)
For x = 1 To 10 Step 1
Cells(x, 1) = Cells(x, 1) * (InputBox(m(n) & "倍率值", "设置倍率", "2"))
Next
End Sub



最佳答案
2016-5-16 23:19
Sub 乘以任意倍率()
    Dim x%, m(2), r%
    r = Range("a65536").End(xlUp).Row
    For x = 1 To r Step 1
        Cells(x, 1) = Cells(x, 1) * (InputBox(m(n) & "倍率值", "设置倍率", "2"))
    Next
End Sub



不知为什么这样?只改了循环到A列的最后一行为任意行。
难道需要每行都弹输入框?

book.rar

6.24 KB, 下载次数: 5

excel精英培训的微信平台,每天都会发送excel学习教程和资料。扫一扫明天就可以收到新教程
发表于 2016-5-16 23:19 | 显示全部楼层    本楼为最佳答案   
Sub 乘以任意倍率()
    Dim x%, m(2), r%
    r = Range("a65536").End(xlUp).Row
    For x = 1 To r Step 1
        Cells(x, 1) = Cells(x, 1) * (InputBox(m(n) & "倍率值", "设置倍率", "2"))
    Next
End Sub



不知为什么这样?只改了循环到A列的最后一行为任意行。
难道需要每行都弹输入框?
回复

使用道具 举报

 楼主| 发表于 2016-5-17 07:23 | 显示全部楼层
本帖最后由 maydbl 于 2016-5-17 07:34 编辑
爱疯 发表于 2016-5-16 23:19
Sub 乘以任意倍率()
    Dim x%, m(2), r%
    r = Range("a65536").End(xlUp).Row

对不起!是我叙述得不清楚,参照超级版主的提醒,我搞好了。感谢爱疯版主!

我想得到的结果是这样的:
Sub 乘以任意倍率()
Dim arr, m(2)
x = Val(InputBox(m(n) & "倍率值", "设置倍率", "2")) '(InputBox("请输入速度倍率:"))
arr = Range("a1:a" & Range("a65536").End(xlUp).Row)
For i = 1 To UBound(arr)
arr(i, 1) = arr(i, 1) * x
Next
Range("b1").Resize(UBound(arr), 1) = arr
End Sub

回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-4-20 16:50 , Processed in 0.322830 second(s), 14 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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