上周这一直在杀了我,所以我崩溃了,寻求帮助!我已经对此进行了详尽的搜索,但还无法破解...希望有人可以救救我!
我需要将范围选择从一张纸复制到另一张纸,这应该是一件容易的事,但是该范围是基于.Find动态的。查找结果...我能够将所有必需的数据传递到变量中,没问题,但是可以获取那些字符串变量(同时包含列和行值)复制到范围中,这一直使我“运行时错误1004:Range类的PasteSpecial方法失败...”
这是我目前的完整代码:
Private Sub AutoFill_Week_One()
Dim Well_1 As Range
Dim GasComp As Range
Dim gRow As Integer
Dim lRow As Integer
Dim GsRow As String
Dim LsRow As String
Dim GsDate As String
Dim LsDate As String
Dim GsRngS As String
Dim GsRngE As String
Dim LsRngS As String
Dim LsRngE As String
Dim GsComp As String
Dim LsComp As String
With Sheets("CSV Import")
Set Well_1 = Range("O1:O200").Find("102040307310W600")
Well_1.Activate
gRow = ActiveCell.Row
GsRow = "A" & CStr(gRow)
If Range(GsRow).value = "G" And Well_1.value = "102040307310W600" Then
GsDate = "E" & CStr(gRow)
MsgBox GsDate
Range(GsDate).Copy
Sheets("Week One").Range("F31").PasteSpecial _
Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
GsRngS = "T" & CStr(gRow)
GsRngE = "AG" & CStr(gRow)
GsComp = GsRngS & ":" & GsRngE
MsgBox GsComp
Set GasComp = .Range(GsComp)
GasComp.Copy
Sheets("Week One").Range("F33:F46").PasteSpecial _
Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
End If
Set Well_1 = Range("O1:O200").FindNext(Well_1)
Well_1.Activate
lRow = ActiveCell.Row
LsRow = "A" & CStr(lRow)
If Range(LsRow).value = "L" And Well_1.value = "102040307310W600" Then
MsgBox "Liquid"
End If
End With
End Sub
对不起,我知道这段代码有点被黑了,但是我尝试过数组,.offset和其他我想不到的事情...
有什么想法吗?
非常感谢!
嘿,BigBen转移正在运作!但是我无法获得将它们传输到垂直范围(F33:F46)的语法,它们只是水平传输!我想念什么?
With ThisWorkbook.Sheets("CSV Import").Range(GsComp)
Sheets("Week One").Cells(33, 6).End(xlUp).Cells(46, 6).Resize(.Rows.Count, .Columns.Count) = .value
End With
但是我无法获得将它们传输到垂直范围(F33:F46)的语法,它们只是水平传输!
Application.Transpose
在这里使用:
With ThisWorkbook.Sheets("CSV Import").Range(GsComp)
Sheets("Week One").Range("F33").Resize(.Columns.Count).Value = Application.Transpose(.Value)
End With
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句