求一段VBA代码

A3:A11是C1调用的数据,逐个调用后的结果显示在D1中,B3:B11再逐个从D1中写入。谢谢
比如:C1*5=D1, 现在C1就逐个从A3开始引用,因为A3=1,引用后D1就等于5,那么B3将等于5,A4=2,那么D1=10,B4也等于10.虽然可以用简单的公式(B3=A3*5),但这只是个比方,我是想学习怎么逐个引用到固定单元格中,和从单元格中逐个写到其他列中。谢谢!

请讲清楚点是什么意思,什么调用? 只写到C1和D1是吗?怎么逐个法?
还是C1手工输入,D1找B列数据?
明白了,用不着C1和D1呀,直接从A3:A11引用写入B3:B11就行了。
代码如下,已经加了注解。
Sub 写入B列()
Dim arr, arr1 '定义两个数组变量
Dim x& '定义一个整数型变量
Range("B3:B11").ClearContents '清除B3:B11单元格的数据
arr = Range("A3:A11").Value '把A3:A11的数据赋值给数组arr
ReDim arr1(1 To UBound(arr)) '定义arr1数组的大小与arr一样大
For x = 1 To UBound(arr) '建立循环
arr1(x) = arr(x, 1) * 5 '赋值给数组arr1
'Range("C1") = arr(x, 1) '这三行只是说明写入C1单元格和D1单元格的方法,可不要就直接达到效果
'Range("D1") = arr1(x) '
'MsgBox arr1(x)'提示D1的据变化
Next x
Range("B3").Resize(UBound(arr1)) = Application.Transpose(arr1) '把数组arr1写入到单元格B3:B11中
End Sub
你只要运行下这个宏就行了。也可以搞个按钮指定此宏,点下按钮即完成B列的写入。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-03-27
Sub test1()
Dim i&, arr, lastrow&, CON
lastrow = [a65536].End(xlUp).Row
arr = Range("a3:a" & lastrow)
For i = 3 To lastrow
[c1] = arr(i - 2, 1)
[d1] = [c1] * 5
Range("b" & i) = [d1]
CON = MsgBox("继续进行?", vbYesNo + vbQuestion, "温馨提示")
If CON = vbNo Then Exit Sub
Next
End Sub
第2个回答  2011-03-27
不知你讲的啥意思,你是想实现CAD与数据表交换数据,信息沟通吗,还是仅在数据表内实现自动分类编辑功能,有需要,请说清.