首页 > 解决方案 > 字典中循环和条件的逻辑

问题描述

我正在循环字典并将前两张图片输出到活动表,然后为接下来的两张图片创建附加表,依此类推。每张纸上只需要 2 张图片,具体取决于字典中可能有多少张图片。我在逻辑上需要帮助,因为我不确定如何将循环编码为在将前 2 张图片添加到活动工作表后仅放置 2 张图片。

继承人的代码:

Dim PictureFilename As Variant
Dim FileList As Dictionary
....
For Each PictureFilename In FileList
    i = i + 1
    If i >2 then
        TabName = DefaultWorksheetNameAdder + " " + Format(Now(), "mm-dd-yyyy")
        PicWorkbook.Sheets.Add(after:=PicWorkbook.Sheets(PicWorkbook.Sheets.Count)).Name = "NewSheet"
        Set PicWorksheet = PicWorkbook.Sheets(PicWorkbook.Sheets.Count)

        'how to handle the next two without having to code i > 4 , i > 6 ect.?
    Else
        Set Photo = PicWorksheet.Shapes.AddPicture(CStr(PictureFilename), msoFalse, msoCTrue, 1, 1, -1, -1)
        Set pic = Nothing
        Set pic = Photo
        colPictures.Add pic
    End If
Next

标签: vbaexcel

解决方案


退房MOD

if i MOD 2 = 0 then...

MOD产生一个数的模。

0 MOD 2 为 0

1 MOD 2 为 1

2 MOD 2 为 0

3 MOD 2 为 1

4 MOD 2 为 0


推荐阅读