excel运行宏时 提示下标越界 急!求解!
Sub复制()DimiAsByteIfSheets("sheet1").Range("CT3").Value<7ThenSheets("sheet1").Range("C...
Sub 复制()
Dim i As Byte
If Sheets("sheet1").Range("CT3").Value < 7 Then
Sheets("sheet1").Range("CT3").Value = 7
i = Sheets("sheet1").Range("CT3").Value
ElseIf Sheets("sheet1").Range("CT3").Value > 31 Then
MsgBox "当月已结束!", , "提示:"
End
Else
i = Sheets("sheet1").Range("CT3").Value
End If
Sheets("sheet1").Range("CT3").Value = Sheets("sheet1").Range("CT3").Value + 1
Sheets("sheet1").Range("B" & i & ": " & "BL" & i).Select
Selection.AutoFill Destination:=Sheets("sheet1").Range("B" & i & ": " & "BL" & i + 1), Type:=xlFillDefault
Sheets("sheet1").Range("B" & i & ": " & "BL" & i + 1).Select
Sheets("sheet1").Range("B" & i & ": " & "BL" & i).Select
Selection.Copy
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
End Sub 展开
Dim i As Byte
If Sheets("sheet1").Range("CT3").Value < 7 Then
Sheets("sheet1").Range("CT3").Value = 7
i = Sheets("sheet1").Range("CT3").Value
ElseIf Sheets("sheet1").Range("CT3").Value > 31 Then
MsgBox "当月已结束!", , "提示:"
End
Else
i = Sheets("sheet1").Range("CT3").Value
End If
Sheets("sheet1").Range("CT3").Value = Sheets("sheet1").Range("CT3").Value + 1
Sheets("sheet1").Range("B" & i & ": " & "BL" & i).Select
Selection.AutoFill Destination:=Sheets("sheet1").Range("B" & i & ": " & "BL" & i + 1), Type:=xlFillDefault
Sheets("sheet1").Range("B" & i & ": " & "BL" & i + 1).Select
Sheets("sheet1").Range("B" & i & ": " & "BL" & i).Select
Selection.Copy
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
End Sub 展开
1个回答
展开全部
Sub 复制()
If Sheets("sheet1").Range("CT3") = 31 Then
MsgBox "当月已结束!", , "提示:"
Exit Sub '如果CT3等于31时则退出Sub
End If
Dim i As Integer '定义i为整数
If Sheets("sheet1").Range("CT3") < 7 Then
Sheets("sheet1").Range("CT3") = 7 '如果CT3小于7时则=7
End If
i = Sheets("sheet1").Range("CT3") '赋值i=CT3
Sheets("sheet1").Range("B" & i & ": " & "BL" & i).AutoFill Destination:=Sheets("sheet1").Range("B" & i & ": " & "BL" & i + 1) '填充公式
Sheets("sheet1").Range("B" & i & ": " & "BL" & i).Copy '复制区域
Sheets("sheet1").Range("B" & i).PasteSpecial Paste:=xlPasteValues '特殊粘贴,粘贴目标Bi
Application.CutCopyMode = False '取消复制状态的蚂蚁线
If i < 31 Then
Sheets("sheet1").Range("CT3") = i + 1 '如果i小于31时则CT3=i+1
End If
Range("B" & i + 1).Select '最后鼠标选中在Bi+1单元格
End Sub
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询