Excel 粘贴数据后取消选择列
这可能很简单,但我无法解决它 我可以使用Excel 粘贴数据后取消选择列,excel,vba,Excel,Vba,这可能很简单,但我无法解决它 我可以使用应用程序从复制数据的列中释放出来。CutCopyMode=False但是粘贴数据的列仍然处于选中状态,我尝试了ActiveSheet.EnableSelection=xlNone,正如论坛中建议的那样,但没有成功。我的其余代码工作正常: Dim wb As Workbook Dim t1 As Worksheet Dim r As Worksheet Set wb = ActiveWorkbook Set t1 = Sheets("dataT1") Se
应用程序从复制数据的列中释放出来。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
我能想到的另一件事是选择单元格A1,这样列就可以自由显示,但如果可以的话,我更愿意使用select。您不能真正取消选择单元格,因为工作表的本质是始终有一个选定的单元格 可能没有选定单元格的唯一原因是
- 选择控件/按钮等对象
- 或者像@moosli指出的那样保护工作表不受用户交互的影响
选择任何其他单元格,例如A1
Worksheets("MySheet").Range("A1").Select
你可以通过这种方式实现它
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
正如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
谢谢你,我在底部保留了这个选项来选择“A1”以便从数据列中删除secetion,除了“select”之外还有其他方法可以不使用“select”从列中删除吗?@vj12除了当前选择的单元格之外,没有选择其他单元格实际上是取消选择当前单元格的正式方法。嗨,Jos,欢迎。请考虑添加解释。