excel vba 怎样能把计算结果输出到另一张表单中的某个位置?

来源:百度知道 编辑:UC知道 时间:2024/09/22 18:52:13
比如,我通过宏在“计算”表单中得出了一个计算结果,我要把该结果的数值输出到“记录”表单中,应该怎样实现???

现在用了个这个,但是好像无效
记录是我要输入的表单,cells是计算那个表单里的数据

Sheets("记录").Range("s5").Value = Cells(ah, 34)
全都不行啊, 我把问题程序抓图贴在博客里了。
http://hi.baidu.com/kingston7410/blog/item/e0e424d78f7f3edaa044df24.html

我这个语句是在某个条件下执行的,我那个条件可以顺利执行的,因为把它删了其他都顺利。

看了你的贴图,发现一个很奇怪的现象,不知是我孤陋寡闻还是真有问题。说出来仅供参考:
我用了这么多年,一直都是VB编辑器自动调整系统函数名的书写。比如Sheets,Worksheets,如果我写成全小写的,编辑器一定会改成首字母大写的。你的图里却出现了全小写的情况,似乎是系统没有把这两个函数识别出来。而其它的Cells,Range都是对的。
我觉得你的Excel本身有问题。你换台机器试试,看看能不能识别这两个函数,能不能过关。

Sheets("记录").Range("s5").Value = Cells(ah, 34)
改为:
Sheets("记录").Range("s5").Value2 = Cells(ah, 34).Value2

Cells()属于range类型不能赋值,必须后边加.value2 一般赋值取值都用value2不会出错。

sheets和worksheets都不需要定义

range类型可以用offset来自动调整位置,例如:
Sub test()

'
' test Macro
' 宏由 cnmhdzc 录制,时间: 2009-1-18
'
' 快捷键: Ctrl+y
'

Dim myrange1 As Range, myrange2 As Range '定义2个range类型
Dim i As Integer

Set myrange1 = Selection 'myrange1为当前选中单元格,
myrange1.Value2 = Cells(2, 2).Value2 '将第2行第2列单元格的值赋给选中的单元格。

Set myrange1 = Sheets("记录").Range("A1") '指定myrange1,myrange2