这可能很简单,但我无法解决它。
我可以使用Application.CutCopyMode=False
从我复制数据的位置释放列,但是粘贴数据的列仍然保持选中状态,我按照其中一个论坛的建议尝试了ActiveSheet.EnableSelection = xlNone
我的代码的成功完成工作正常:
Dim wb As Workbook
Dim t1 As Worksheet
Dim r As Worksheet
Set wb = ActiveWorkbook
Set t1 = Sheets("dataT1")
Set r = Sheets("HPV1report")
t1.Range("D3:CR5").Copy
r.Range("A2").PasteSpecial _
Paste:=xlPasteValues, _
Operation:=xlNone, _
SkipBlanks:=False, _
Transpose:=True
Selection.EntireColumn.AutoFit
End sub
我能想到的另一件事就是选择Cell A1,这样该列就会免费,但如果可以,我会更喜欢使用select。
答案 0 :(得分:4)
您无法真正取消选择单元格,因为工作表的性质始终是所选单元格。
可能没有选定单元格的唯一原因是
所以正确的方法是,正如你已经发现的那样:
选择任何其他单元格,例如。 A1。
{node|short}
答案 1 :(得分:0)
您可以通过这种方式实现
Application.ScreenUpdating = False
Worksheets("name sheet selected data").Activate
Worksheets("name sheet selected data").Range("A1").Select
Worksheets("name sheet you want goto").Activate
Application.ScreenUpdating = True
答案 2 :(得分:0)
正如PEH所指出的,在Excel中总是选择了某些内容,因此他建议选择一个像A1这样的硬编码单元格。我更喜欢在复制/粘贴过程之前存储活动的单元格,并在粘贴后重新选择该单元格。
Dim ActCell As Excel.Range
Set ActCell = Excel.Application.ActiveCell
'Do the copy and paste process
Excel.Application.CutCopyMode = Excel.XlCutCopyMode.xlCut
ActCell.Select