我想在打开的工作表中找到一个特定的单元格,并将数据3单元格向右复制到主工作簿中(而不是刚刚打开的工作簿)。
下面的宏循环遍历txt文档中的所有文件,然后打开并关闭它们。在每个文件中都有一个名为ADA的单元格,我想将单元格3复制到右边,但是ADA并不总是在同一个地方,所以我需要搜索它。例如找到单元格ADA并说它在该工作簿的E6中,我需要将E6与H6,I6和J6一起复制到我运行宏的原始主工作簿中。
Sub GatherData()
Dim objFSO As Object
Dim objWB As Workbook
Dim strFN As String
Dim objTF As Object
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objTF = objFSO.OpenTextFile("U:\Time series project\doclist.txt")
On Error Resume Next
Do While Not objTF.AtEndOfStream
strFN = objTF.readline()
Set wb = Workbooks.Open(strFN)
If wb Is Nothing Then
Debug.Print strFN
Else
wb.Close False
Set wb = Nothing
End If
Loop
On Error GoTo 0
End Sub
我在想添加像
这样的东西Dim c As Range
Dim newcell
Dim tmp
Dim wrkbk As WorkBook
Dim sht As WorkSheet
Set c = .Find(findValues(i), LookIn:=xlFormulas)
If Not c Is Nothing Then
newcell = c.Offset(0, 4).Value
Do
tmp.Offset(0, 2).Value = tmp.Value
tmp.Offset(0, 3).Value = newcell
End If
但无法使这个概念适合第一个代码。
答案 0 :(得分:0)
您只需使用
即可Dim copyrange as Range
Dim originalcell, startingcell, endingcell as String
originalcell = sht.Range("ADA").Address
startingcell = sht.Range("ADA").Offset(0,3).Address
endingcell = sht.Range("ADA").Offset(0,5).Address
copyrange = originalcell & "," & startingcell & ":" & endingcell
然后只需复制该范围并粘贴到您想要的位置。