最近都在折腾别的,没有好好编程,不开心。今天凑巧看到一个我老是会磕绊的地方,特此记录。另外,整个这个程序当滚动条思路还是不错的。
大意就是收款时间那里为空的就是还欠账呢,然后可以让他的大名去状态栏滚动随机播放。
下面上代码:
Dim arr(), i
Sub auto_open()
Dim sht As Worksheet, rng As Range, FindRng As Range, FindStr As String
For Each sht In Sheets
Set rng = sht.Range(sht.[c2], sht.Cells(<span style="color:#FF0000;">Rows.Count, 1</span>).End(xlUp).Offset(0, 2)) ' 这里把ABC三列offset一下以后就只有第三列,但是行数就不会断了,因为C列有空。
Set FindRng = rng.Find(What:="", LookAt:=xlWhole)
If FindRng Is Nothing Then GoTo line
FindStr = FindRng.Address
Do
i = i + 1
ReDim Preserve arr(1 To i)
arr(i) = FindRng.Offset(0, -2).Text
Set FindRng = sht.UsedRange.FindNext(FindRng)
Loop While FindStr <> FindRng.Address
line: '发现用line接程序后半段是个很好的手法。
Next
If i > 0 Then Call randomm
End Sub
Sub Randomm()
Application.OnTime Now + TimeValue("00:00:02"), "随机显示"
<span style="color:#FF0000;">Application.StatusBar</span> = "未收款的客户" & arr(WorksheetFunction.RoundUp(Rnd * i, 0))
End Sub