Vba 工作表。选择+复制/粘贴无效[Excel 2016]
我有一个宏,它从BD工作表复制一些列并粘贴到另一个工作表中 我在Excel2007中使用了这段代码,但在选择工作表,然后在Excel2010和更高版本中复制/粘贴时遇到了一个问题。问题似乎不在我的。选择。似乎是在PasteSpecial中自动选择with Sheet并执行other。复制而不返回de previous Sheet屏幕会在每个PasteSpecial中闪烁-我不知道是否足够清晰。[有时工作正常,尤其是使用调试器] 代码 但密码将是硬的 那是因为你做得不对 而不是Vba 工作表。选择+复制/粘贴无效[Excel 2016],vba,excel,Vba,Excel,我有一个宏,它从BD工作表复制一些列并粘贴到另一个工作表中 我在Excel2007中使用了这段代码,但在选择工作表,然后在Excel2010和更高版本中复制/粘贴时遇到了一个问题。问题似乎不在我的。选择。似乎是在PasteSpecial中自动选择with Sheet并执行other。复制而不返回de previous Sheet屏幕会在每个PasteSpecial中闪烁-我不知道是否足够清晰。[有时工作正常,尤其是使用调试器] 代码 但密码将是硬的 那是因为你做得不对 而不是 With Shee
With Sheets(PRICE_SHEET)
bdSheet.Range(bdSheet.Cells(2, 2), bdSheet.Cells(lastRow, 2)).Copy
.[A2].PasteSpecial xlPasteValues
End With
这样做
With bdSheet
.Range(.Cells(2, 2), .Cells(lastRow, 2)).Copy
Sheets(PRICE_SHEET).[A2].PasteSpecial xlPasteValues '<---- Working
End With
可以写成
Range2.Value = Range1.Value
应用上述方法,我重新编写了您的代码。这就是你想要的吗?未经测试
With bdSheet
.Range(.Cells(2, 2), .Cells(lastRow, 2)).Copy
Sheets(PRICE_SHEET).[A2].PasteSpecial xlPasteValues '<---- Working
End With
Range1.Copy
Range2.PasteSpecial xlPasteValues
Range2.Value = Range1.Value
Private Sub LoadPrices()
Dim wsCopyFrm As Worksheet, wsCopyTo As Worksheet
Dim rng As Range
Dim lastRow As Long
Set wsCopyFrm = ThisWorkbook.Sheets(BD_SHEET)
Set wsCopyTo = ThisWorkbook.Sheets(PRICE_SHEET)
With wsCopyFrm
lastRow = .Range("A" & .Rows.Count).End(xlUp).Row
Set rng = .Range(.Cells(2, 2), .Cells(lastRow, 2))
wsCopyTo.Range("A2").Resize(rng.Rows.Count, rng.Columns.Count).Value = rng.Value
Set rng = .Range(.Cells(2, 7), .Cells(lastRow, 7))
wsCopyTo.Range("B2").Resize(rng.Rows.Count, rng.Columns.Count).Value = rng.Value
Set rng = .Range(.Cells(2, 9), .Cells(lastRow, 10))
wsCopyTo.Range("C2").Resize(rng.Rows.Count, rng.Columns.Count).Value = rng.Value
Set rng = .Range(.Cells(2, 12), .Cells(lastRow, 12))
wsCopyTo.Range("E2").Resize(rng.Rows.Count, rng.Columns.Count).Value = rng.Value
End With
End Sub