For má byť ukončené Next, čiže miesto x=x+1 by tam teoreticky, aby bola dodržaná syntax VBA, malo stáť Next x. Ale ani to nezaručí, že sa doberieš kýženého výsledku. Každopádne, makro takto napísaným cyklom prebehne korektne, je možné vidieť, že na konci sa zobrazí hláška "makro pokracuje". Sub ExecutePrint()
Dim x As Byte
For x = 1 To 3
Sheets(Array("Sheet1", "Sheet3")).Select
Application.CommandBars.ExecuteMso ("PrintPreviewAndPrint")
Next x
MsgBox "makro pokracuje"
End Sub
Ako som ale zmienil, pravdepodobne to nie je to, čo chceš dosiahnuť, síce tuším, o čo sa snažíš, ale zrozumiteľné formulovanie problému ponechám na tebe.citovat
Dim x As Byte
For x = 1 To 3
Sheets(Array("Sheet1", "Sheet3")).Select
Application.CommandBars.ExecuteMso ("PrintPreviewAndPrint")
Next x
MsgBox "makro pokracuje"
End Sub
Ako som ale zmienil, pravdepodobne to nie je to, čo chceš dosiahnuť, síce tuším, o čo sa snažíš, ale zrozumiteľné formulovanie problému ponechám na tebe.citovat