Excel VBA 做一个计划清单

目前在看《搞定》一书,里面提及要“清空大脑”,简单的讲“清空大脑”就是把脑子里面未完成的事项做一个清单,然后在对任务进行分类处理,一项一项的完成。

结合之前发布的删除空白单元格,可以做一个简单的计划清单。清单需要实现以下几个功能:

1:设定任务只能是完成或未完成状态,不能再表格里面输入其它的内容。方便管理

2:已经完成的任务,在清单里面进行删除。

代码已经初步完成,运行成果如下:

Excel VBA 做一个计划清单

代码解析:

1:点击设置以后,是否完成的那一列里面只能输入完成、完成及空,如果输入了其它内容。表格会进行报警。此代码,只要最开始,运行一次就可以了。后续无需再运行

Sub 开始前的设置()

With Range("a6:a105").Validation

.Delete

.Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:= _

xlBetween, Formula1:="完成,未完成"

.IgnoreBlank = True

.InCellDropdown = True

.InputTitle = ""

.ErrorTitle = ""

.InputMessage = ""

.ErrorMessage = ""

.IMEMode = xlIMEModeNoControl

.ShowInput = True

.ShowError = True

End With

End Sub

效果如下:

Excel VBA 做一个计划清单

2:点击删除已完成的任务按钮,运行的代码,其实是删除空白行的一种运用。代码如下:

Sub 删除已经完成的任务()Dim arr, narr = Sheet1.Range("a6:b105")For n = 1 To UBound(arr) If arr(n, 1) = "完成" Then arr(n, 2) = ""Next nSheet1.Range("a6:b105") = arri = Sheet1.Range("b" & Rows.Count).End(xlUp).RowFor n = i To 6 Step -1 If Cells(n, 2) = "" Then Rows(n).Delete End IfNext nEnd Sub

两个子程序,就可以完成一个简单的计划清单。当然此清单还可以继续深入,如把已经完成的清单,放在已经的工作表里面,又或者把任务进行分类。把不同类的任务放入不同的工作表里面。这个表格以后可以再进行深入的分析。


分享到:


相關文章: