vba-excel:如何使用for循环和if语句排除复制单元格区域

合酶

我有以下代码:


lr = Sheet1.Cells(Rows.Count, 1).End(xlUp).Row

For a = 1 To lr If (Sheet1.Cells(a, 1) = Date Or Date - 1) And (Sheet1.Cells(a, 2) = "AA" Or Sheet1.Cells(a, 2) = "BB" Or Sheet1.Cells(a, 2) = "CC") And Sheet1.Cells(a, 3) = array(0) Then Call ActivateSheet Sheet1.Range(Cells(a, 4), Cells(a, 10)).Copy Sheet2.Cells(Rows.Count, 1).End(xlUp).Offset(1, 0).PasteSpecial End If Next a

我有两列包含数据。A列中我们有DATE的值(我将其称为currentDate)和DATE-1的值(将其称为yesterDate)B列中,我可以具有三个不同的值,即AABBCC我上面的if语句(我为代码看起来不太合理道歉,我仍在尝试学习VBA。; P)基本上检查A列中的值currentDate还是yesterDate,并检查B列中的值AABBCC然后,如果列A和列B的值是给定值的任意组合,它将复制该单元格范围并将其粘贴到Sheet2上

所以这就是我想要发生的事情。从给定值的所有可能组合中,有一个我不想复制的组合,而该组合是yesterDate && CC

我只希望我的代码复制yesterDate && AAyesterDate && BBcurrentDate && CC根据用户输入,所有其他组合(例如currentDate && AA或currentDate && BB)都不太可能发生。

我只想排除yesterDate && CC由我的代码复制。关于如何实现此目标的任何想法?

卡特南

在这里,我给你一个。试试这个。

Public Sub checkAndCopy()

    Dim rowCount, row As Integer
    Dim dateCell, valueCell, combinationCell As String
    Dim isValid As Boolean

    'Getting row count from Sheet1
    rowCount = Sheet1.Cells(Rows.Count, 1).End(xlUp).row

    'Looping all row from Sheet1.
    For row = 1 To rowCount

        'getting cell values
        dateCell = Sheet1.Range("A" & row)
        valueCell = Sheet1.Range("B" & row)
        combinationCell = Sheet1.Range("C" & row)

        'Sometime one of these cell should be blank or wrong date value.
        'So, I added checking to avoid it.
        'If these two cell are not empty, check date is valid or not.
        If dateCell <> "" And valueCell <> "" Then

            'If date value is valid, go on checking for copy cell.
            If IsDate(dateCell) Then

                'Reset isValid flag.
                isValid = True

                'You just want to exclude yesterday & CC.
                'So, I only check for it.
                If dateCell = Date - 1 And valueCell = "CC" Then
                    isValid = False
                End If

                'If both cell values are valid and also combination cell is valid, copy and paste cell.
                If isValid And combinationCell = array(0) Then

                    'Select cells
                    Sheet1.Range(Cells(row, 4), Cells(row, 10)).Select

                    'Copy cells
                    Selection.Copy

                    'Paste cells
                    Sheet2.Cells(Rows.Count, 1).End(xlUp).Offset(1, 0).PasteSpecial

                    'Reset clipboard
                    Application.CutCopyMode = False

                End If

            End If

        End If

    Next row

End Sub

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

VBA-复制单元格区域(随机行)

来自分类Dev

通过VBA在Excel中复制单元格公式

来自分类Dev

Excel公式或VBA复制单元格删除空格?

来自分类Dev

Excel VBA:复制单元格内容

来自分类Dev

Excel将VBA宏复制单元格循环到新工作表

来自分类Dev

Excel VBA,如何从Column对象内复制单元格

来自分类Dev

如何编写VBA代码根据行和列的选择复制单元格数据

来自分类Dev

Excel VBA复制单元格值,如果> 0到左侧的单元格

来自分类Dev

如何使用Excel VBA拆分和重组单元格

来自分类Dev

VBA,自动填充系列,而不是复制单元格

来自分类Dev

VBA在满足条件时复制单元格

来自分类Dev

两个工作簿之间的Excel VBA复制单元格

来自分类Dev

Excel VBA宏复制单元格并粘贴到另一个

来自分类Dev

如果列包含数据,则复制单元格 A,Excel VBA

来自分类Dev

Excel VBA-如果单元格值满足条件,则在工作表之间复制单元格

来自分类Dev

VBA复制循环中的单元格

来自分类Dev

VBA复制单元格+格式化而不使用剪贴板

来自分类Dev

使用VBA复制单元

来自分类Dev

VBA Excel:使用字母数字范围和单元格跨工作表复制

来自分类Dev

Excel VBA:选定的单元格循环

来自分类Dev

如何使用VBA在社区中基于单元格内容搜索来复制,插入和替换单元格数据

来自分类Dev

Excel VBA-For循环。使用值查找单元格

来自分类Dev

如何使用vba复制excell单元格值

来自分类Dev

Excel-VBA循环-从单元格复制公式,粘贴到单元格中,然后复制特殊粘贴

来自分类Dev

Excel VBA:如何在For Each语句中使用更改单元格的值?

来自分类Dev

如何使用 VBA If 语句的环境变量在 Excel 中获取单元格值

来自分类Dev

从if语句宏vba中排除某些单元格值

来自分类Dev

Excel VBA-搜索范围-如果单元格包含文本,则复制单元格-粘贴偏移量2,1

来自分类Dev

VBA Excel-复制单元格值并将值粘贴在另一个单元格的字符之间

Related 相关文章

  1. 1

    VBA-复制单元格区域(随机行)

  2. 2

    通过VBA在Excel中复制单元格公式

  3. 3

    Excel公式或VBA复制单元格删除空格?

  4. 4

    Excel VBA:复制单元格内容

  5. 5

    Excel将VBA宏复制单元格循环到新工作表

  6. 6

    Excel VBA,如何从Column对象内复制单元格

  7. 7

    如何编写VBA代码根据行和列的选择复制单元格数据

  8. 8

    Excel VBA复制单元格值,如果> 0到左侧的单元格

  9. 9

    如何使用Excel VBA拆分和重组单元格

  10. 10

    VBA,自动填充系列,而不是复制单元格

  11. 11

    VBA在满足条件时复制单元格

  12. 12

    两个工作簿之间的Excel VBA复制单元格

  13. 13

    Excel VBA宏复制单元格并粘贴到另一个

  14. 14

    如果列包含数据,则复制单元格 A,Excel VBA

  15. 15

    Excel VBA-如果单元格值满足条件,则在工作表之间复制单元格

  16. 16

    VBA复制循环中的单元格

  17. 17

    VBA复制单元格+格式化而不使用剪贴板

  18. 18

    使用VBA复制单元

  19. 19

    VBA Excel:使用字母数字范围和单元格跨工作表复制

  20. 20

    Excel VBA:选定的单元格循环

  21. 21

    如何使用VBA在社区中基于单元格内容搜索来复制,插入和替换单元格数据

  22. 22

    Excel VBA-For循环。使用值查找单元格

  23. 23

    如何使用vba复制excell单元格值

  24. 24

    Excel-VBA循环-从单元格复制公式,粘贴到单元格中,然后复制特殊粘贴

  25. 25

    Excel VBA:如何在For Each语句中使用更改单元格的值?

  26. 26

    如何使用 VBA If 语句的环境变量在 Excel 中获取单元格值

  27. 27

    从if语句宏vba中排除某些单元格值

  28. 28

    Excel VBA-搜索范围-如果单元格包含文本,则复制单元格-粘贴偏移量2,1

  29. 29

    VBA Excel-复制单元格值并将值粘贴在另一个单元格的字符之间

热门标签

归档