首页 > 解决方案 > VBA 中的复制粘贴语法问题 [已编辑]

问题描述

编辑:我在 Excel 2016 上运行(如果该信息有帮助)

目的:

我想将每个参与者的整行A: ___从一个工作表复制Worksheets("Sheet3")到另一个工作表Worksheets("Sheet4")基于条件"Selected" (第一栏)

编辑:我在下面修复了这部分

我有一个错误,其中未定义变量ParticipantCol。而且我不确定其他特定的编码有什么问题。

当前问题

运行时错误“9”。下标超出范围。还请检查我的变量是否正确定义。

我依靠这两个链接作为参考来构建以下语法:

  1. https://www.excelcampus.com/vba/copy-paste-cells-vba-macros/ [从 2016 年开始]

  2. https://www.youtube.com/watch?v=W4swMZe0TEE [自 2021 年起]

     Sub CopyPasteIfSelectedThen2021()
    
     Dim SelectionStatusCol As Range
     Dim SelectionStatus As Range
     Dim PasteCell As Range
    
     Set SelectionStatusCol = Worksheets("Sheet2").Range("I2:I23")
    
     For Each SelectionStatus In SelectionStatusCol
    
         If Worksheets("Sheet2").Range("I2") = "Selected" Then
    
             Set PasteCell = Worksheets("Sheet4").Range("A2")
         Else
             Set PasteCell = Worksheets("Sheet4").Range("A2").End(xlDown).Offset(1, 0)
         End If
    
         If SelectionStatus = "Selected" Then SelectionStatus.EntireRow.Copy PasteCell
    
    
    Next SelectionStatus
    
    End Sub
    

我尝试了 2021 编码概念,但显示错误。调整为 2016 编码方法后,我仍然遇到问题。而且我不确定在哪里可以找到对 2016 Excel 版本的特定编码的特定参考,我花了第 2 天来尝试解决它。

感谢帮助!

标签: excelvba7

解决方案


推荐阅读