首先确定i=Sheets("sheet1").[B2].Value中[B2]是否是数字。
我想你这问题主要是出在:没有工作薄对象和工作表对象的原因
With ActiveWorkbook.Sheets("sheet1") .Range(.Cells(186, 2), .Cells(187, i + 1)).SelectEnd With
sheet1!B2里保存的是数字吗?