如何循环读取另一表格中指定范围单元格数据?

来源:百度知道 编辑:UC知道 时间:2024/07/07 08:13:50
我要见一个循环,把文件路径、文件名、sheet名作为固定的值
把此文件中C5--C80的值读取到当前表格的A2开始的单元格中如何实现????
谢谢,要在VBA中写一个语句用循环实现如何呢?INDIRECT要求目标工作薄是打开的,不方便

大概的内容:
Private Sub CommandButton1_Click()

Dim Sht As Worksheet, c%, r%, d%
Sht = "H:HRleaderDOCMENTshift handover reportLINEL18-DG DN[L18-DN.xls]October" ’--这个是猜着写的
c = 11
r = 5

'-------------------------循环读取需要指导
For d = 1 To 31

当前sheet. C c= Sht. C r '--c r Sht 是变量在上面已经定义了 'C’表示C列

c = c + 1
r = r + 2

Next d

'---------------------------
end sub

--------------------------
请问shuhua0715
xx是什么变量??

for i=2 to 77 'c5:c80共76个数据
xx = "=[aaa.xls]Sheet1!R" & i + 3 & "C3"
Cells(i, 1).FormulaR1C1 = xx
endif

直接在a2输入公式 =[aaa.xls]Sheet1!C5 ,往下拖也可实现。
还可用复制,选择性粘贴,粘贴链接。

在这里,我是在同一个工作表中做的,如果你在不同的工作薄中作,需要相应添加工作薄和工作表明

在这里,我用C5-C80作为原始数据,A2到A**(要多少可以自己向下填充)读取数据。在A2中用下面的公式:

=INDIRECT(IF(MOD(ROW()+3,76)<5,"C"&MOD(ROW()+3,76)+76,"C"&MOD(ROW()+3,76)))
其他的填充就可以了。

两个文件全打开,在当前表格的a2中输入=,然后再点开第一个表格,再点c5,然后把c5改成$c$5,回车,再用填充柄向下拉。