文件B在A栏中有一个日期列表。
问题:程序必须匹配文件A,单元格A1中的日期与文件B中的一个日期,然后粘贴文件A中的值,单元格c3:z3在相邻单元格中
到目前为止,我想出了这个,但是我收到了关于“With”的错误,并且不知道如何修复它
Sub copy_GeoFac()
'get date
Windows("File_A.xlsm").Activate
Dim data As Date
data = Worksheets("Sheet1").Cells(1, "A").Value
Range("C3:Z3").Select
Application.CutCopyMode = False
Selection.copy
Windows("File_B.xlsx").Activate
Dim FindString As Date
Dim Rng As Range
FindString = CLng(data)
With Sheets("GEOF").Range("A:A")
Worksheets("GEOF").Activate
Set Rng = Range("A:A").Find(data)
Rng.Offset(0, 1).Select
Selection.Paste.Value
End With
End Sub
提前致谢
答案 0 :(得分:0)
您的代码只对我有所改变。替换:
Selection.Paste.Value
使用:
Selection.PasteSpecial Paste:=xlPasteValues
Selection.Paste没有Value方法。这不是有效的语法。此替换将使您的代码可用于复制和粘贴值。显然,您仍然需要修改代码,以便在输出电子表格中找不到日期时容纳,但这只是一个简单的if语句。
答案 1 :(得分:0)
所以最终的代码如下:
'卖ENEMONA Windows(“Daily_Trading volumes_template.xlsm”)。激活 工作表(“时间表”)。激活 如果范围(“AA13”)。值> 0然后 范围( “C13:Z13”)选择。 Application.CutCopyMode = False Selection.copy
Windows("EG_Sell.xlsx").Activate
Worksheets("ENEM").Activate
Set Rng = Range("A:A").Find(data)
Rng.Offset(0, 1).Select
Selection.PasteSpecial Paste:=xlPasteValues
'copy prices
Windows("Daily_Trading volumes_template.xlsm").Activate
Worksheets("Schedules").Activate
Range("AH13:BE13").Select
Application.CutCopyMode = False
Selection.copy
Windows("EG_Sell.xlsx").Activate
Worksheets("ENEM").Activate
Set Rng = Range("AC:AC").Find(data)
Rng.Offset(0, 1).Select
Selection.PasteSpecial Paste:=xlPasteValues
End If
我添加了一个If来检查我感兴趣的范围是否有要复制的值。第二个复制过程获取一些与第一个范围相关的数据,并将其粘贴到相应的工作表中。