我有一个问题,复制和粘贴一个下拉数据验证菜单从一个工作表到所有选定的工作表。下拉菜单似乎是随机粘贴,而不是粘贴到所选工作表的"B22“中。
Sub TEST()
Dim sht As Worksheet
Sheets("Sheet2").Range("B22").Copy
'Sheets selection should be done before running macro
Selection.Range("B22").PasteSpecial xlPasteValidation
Application.CutCopyMode = False
End Sub对于如何解决这个问题,有什么建议吗?我在查找代码中的错误时遇到了一些困难。
发布于 2018-02-01 17:19:40
尝试以下操作,您需要循环遍历所有选定的工作表,而不是使用Selection.Range:
Sub TEST()
Dim sht As Worksheet
Sheets("Sheet2").Range("B22").Copy
'Sheets selection should be done before running macro
For Each sht In ActiveWindow.SelectedSheets
sht.Range("B22").PasteSpecial xlPasteValidation
Application.CutCopyMode = True
Next
End Sub发布于 2018-02-01 17:34:33
如果您想使用工作簿并避免使用复制/粘贴。
Option Explicit
Sub Test()
Dim excel_sheet As Worksheet
Dim sht As Worksheet
Dim drop_down_value As Range
Set sht = ThisWorkbook.Sheets("Sheet2")
Set drop_down_value = sht.Range("B22")
'Sheets selection should be done before running macro
For Each excel_sheet In ThisWorkbook.Windows(1).SelectedSheets
excel_sheet.Range("B22").Value = drop_down_value.Value
Next
End Subhttps://stackoverflow.com/questions/48568291
复制相似问题