首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >随机复制/粘贴宏粘贴

随机复制/粘贴宏粘贴
EN

Stack Overflow用户
提问于 2018-02-01 17:14:29
回答 2查看 105关注 0票数 0

我有一个问题,复制和粘贴一个下拉数据验证菜单从一个工作表到所有选定的工作表。下拉菜单似乎是随机粘贴,而不是粘贴到所选工作表的"B22“中。

代码语言:javascript
复制
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

对于如何解决这个问题,有什么建议吗?我在查找代码中的错误时遇到了一些困难。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-02-01 17:19:40

尝试以下操作,您需要循环遍历所有选定的工作表,而不是使用Selection.Range:

代码语言:javascript
复制
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
票数 1
EN

Stack Overflow用户

发布于 2018-02-01 17:34:33

如果您想使用工作簿并避免使用复制/粘贴。

代码语言:javascript
复制
    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 Sub
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48568291

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档