求助Excel VBA高手,请帮我把代码翻译成中文,告诉我此代码是什么意思!请详细一点!谢谢!

Sub滞销商品筛选()'获取用户输入DimchoiceAsIntegerOnErrorGoToescchoice=InputBox("请输入需要清理的月份")'新建一个工... Sub 滞销商品筛选()
'获取用户输入
Dim choice As Integer
On Error GoTo esc
choice = InputBox("请输入需要清理的月份")
'新建一个工作表作为临时处理区域
Dim temp As Worksheet
Set temp = Worksheets.Add(after:=Worksheets(Worksheets.Count))
'拷贝原有区域
Worksheets(choice).Activate
Dim rownum As Integer
rownum = ActiveSheet.Range("A3").CurrentRegion.Rows.Count
ActiveSheet.Range(Cells(3, 1), Cells(rownum, 6)).Copy
'粘贴到临时工作表
temp.Activate
ActiveSheet.Paste
'按照名称排序
temp.Range(Cells(1, 1), Cells(rownum - 2, 6)).sort Key1:=Range("A1")
'查找应该下架的货品名称
Dim goodname(100) As String
Dim index As Integer
index = 1
For i = 2 To rownum - 2
If (Cells(i, 1) = Cells(i - 1, 1)) And _
(Cells(i, 5) - Cells(i - 1, 5) > 20) And _
(Cells(i, 1) <> goodname(index - 1)) Then
goodname(index) = Cells(i, 1)
index = index + 1
End If
Next i
'将货品名称拼接为列表
Dim result As String
For i = 1 To index - 1
result = result & goodname(i) & Chr(10)
Next i
'显示结果
MsgBox choice & "月份20天内没有售出的货品清单如下:" & Chr(10) & result
'删除临时工作表
Application.DisplayAlerts = False
temp.Delete
'将原表中的对应记录标示出来
Worksheets(choice).Activate
For i = 3 To rownum - 2
For j = 1 To index - 1
If Cells(i, 1) = goodname(j) Then
Cells(i, 7).value = "滞销"
Cells(i, 7).Font.ColorIndex = 3
End If
Next j
Next i
esc: Exit Sub
End Sub
展开
 我来答
NJ56l4XSR
2012-07-01 · 超过13用户采纳过TA的回答
知道答主
回答量:131
采纳率:0%
帮助的人:54万
展开全部
Sub 滞销商品筛选()
'获取用户输入
Dim choice As Integer '定义变量
On Error GoTo esc '错误则返回esc标签
choice = InputBox("请输入需要清理的月份") '请求用户输入框
'新建一个工作表作为临时处理区域
Dim temp As Worksheet '定义变量
Set temp = Worksheets.Add(after:=Worksheets(Worksheets.Count)) '新建表放在最后面
'拷贝原有区域
Worksheets(choice).Activate '激活表
Dim rownum As Integer '定义变量
rownum = ActiveSheet.Range("A3").CurrentRegion.Rows.Count '将A3当前区域行总数赋给变量
ActiveSheet.Range(Cells(3, 1), Cells(rownum, 6)).Copy '活动工作表指定单元格复制
'粘贴到临时工作表
temp.Activate
ActiveSheet.Paste '粘贴
'按照名称排序
temp.Range(Cells(1, 1), Cells(rownum - 2, 6)).sort Key1:=Range("A1") '以A1单元格为条件排序
'查找应该下架的货品名称
Dim goodname(100) As String '定义变量
Dim index As Integer '定义变量
index = 1 '变量赋值
For i = 2 To rownum - 2 '循环赋值
If (Cells(i, 1) = Cells(i - 1, 1)) And _ '条件
(Cells(i, 5) - Cells(i - 1, 5) > 20) And _
(Cells(i, 1) <> goodname(index - 1)) Then
goodname(index) = Cells(i, 1) '满足条件执行的代码
index = index + 1
End If '结束条件语句
Next i '结束循环
'将货品名称拼接为列表
Dim result As String
For i = 1 To index - 1
result = result & goodname(i) & Chr(10)
Next i
'显示结果
MsgBox choice & "月份20天内没有售出的货品清单如下:" & Chr(10) & result '显示提示框
'删除临时工作表
Application.DisplayAlerts = False '删除表不提示
temp.Delete '删除表
'将原表中的对应记录标示出来
Worksheets(choice).Activate '激活表
For i = 3 To rownum - 2 '循环
For j = 1 To index - 1
If Cells(i, 1) = goodname(j) Then '条件
Cells(i, 7).value = "滞销" '满足条件执行语句
Cells(i, 7).Font.ColorIndex = 3 '设置单元格字体颜色
End If
Next j
Next i
esc: Exit Sub '标签下的代码"退出过程"
End Sub 过程结束
金箍棒2007
2012-07-03 · 超过10用户采纳过TA的回答
知道答主
回答量:41
采纳率:0%
帮助的人:26.1万
展开全部
有中文注释
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式