一条IF语句时合并多个then语句

时间:2019-01-24 18:58:18

标签: excel vba

基本上,它是先前询问的问题的延续(参考:How to copy all sheet names to a particular sheet in the same workbook?),我得到了我的答案,但是在又添加了一条语句后,我遇到了两个问题: 1)使用当前语句的顺序,它仅显示为执行了一张纸而不是列的代码,但有时当我尝试混合If语句时,它的工作很奇怪。所以问题是:这里的顺序重要吗?如果是,应该按哪个顺序出现? 2)由于IF语句对于所有那时都是相同的,所以我想将它们组合起来,但根本不知道是否可能 这是代码:

Sub passport_combining ()

With ThisWorkbook.Sheets("MainSheet")
    For Each wsheet In ThisWorkbook.Sheets
        If wsheet.Name <> "MainSheet" Then

            Set nextEntry_FTE_quantity = .Cells(.Rows.Count, "K").End(xlUp).Offset(1, 0)
            Set nextEntry_nonrecurring_expenses = .Cells(.Rows.Count, "S").End(xlUp).Offset(1, 0)
            Set nextEntry_initiative_type = .Cells(.Rows.Count, "Q").End(xlUp).Offset(1, 0)
            Set nextEntry = .Cells(.Rows.Count, "G").End(xlUp).Offset(1, 0)

            If IsError(Application.Match(wsheet.Name, .Range("G:G"), 0)) Then nextEntry.Value = wsheet.Name
            If IsError(Application.Match(wsheet.Name, .Range("G:G"), 0)) Then nextEntry_FTE_quantity.Value = wsheet.Range("BH16").Value
            If IsError(Application.Match(wsheet.Name, .Range("G:G"), 0)) Then nextEntry_initiative_type.Value = wsheet.Range("K8").Value
            If IsError(Application.Match(wsheet.Name, .Range("G:G"), 0)) Then nextEntry_nonrecurring_expenses.Value = wsheet.Range("BH17").Value


        End If
    Next wsheet
End With

谢谢!

1 个答案:

答案 0 :(得分:0)

更新答案以遍历//thumbnail clicks and it triggers as a button $('.page-gallery--thumbnails li').on('click', function() { var image = $(this).data('source'); $('.preloader').fadeIn("fast", function(){ $('.preloader).delay(150).fadeOut('slow'); }); $('#big-image picture img').attr("src",image); $('#big-image picture source').attr("srcset",image);

您可能遇到的问题不是设置变量。以下代码将遍历您的worksheets中的所有worksheets,不包括您的workbook

我确实添加了worksheet "MainSheet"只是为了看到循环在立即窗口中起作用。随时删除此行。

Debug.Print wsheet.Name