'在sheet1, Cells(1, 1)单元格中放“1”这个起始数,执行下面修改的代码。
Sub 按钮2_Click()
Dim x&
x = Cells(1, 1)
If x > 6 Then x = 1 '根据图片数量设置
Sheet1.Image1.Picture = LoadPicture(ActiveWorkbook.Path & "\" & x & ".jpg")
Cells(1, 1) = x + 1
End Sub
'原代码图片框中的图片不随循环变化的原因是,按钮2_Click()事件显示图片要执行End Sub后才能显示图片。在执行End Sub前循环For x = 1 To 6,图片换了6次但执行到End Sub后已经到了第6张,所以看起来图片没有换一直是第6张。因此在执行End Sub前用循环For x = 1 To 6来改变图片是行不通的,代码修改后是在每执行一次按钮2_Click()到Cells(1, 1)单元格中取X值。你也是VBA高手应该能理解。
得有时间延迟才行啊,你直接一运行,马上就到最后一张了
你的6张图片文件(1.jpg,2.jpg....)都在默认路径下吗