由於我是編寫宏的新手,我需要編寫一個宏來對單元格值「TLA」之間的一系列行進行排序。這裏有一個例子:在Excel VBA中的列中的相似單元格值之間按升序對行的範圍進行排序
Column A
TLA
23
6
32
TLA
TLA
5
21
16
40
TLA
我試圖改變它,我從這個forum.But瀏覽宏,我不能夠選擇的行。任何指針或援助將對我有很大的幫助。 VB:
Sub Sort_column_TLA()
Dim r As Long
Application.ScreenUpdating = False
ActiveSheet.DisplayPageBreaks = False
r =Range("A"& ActiveSheet.Rows.Count).End(xlUp).Row
For r = r To 2 Step -1
Select Case Cells(r, 1)
Case "TLA"
'do nothing
Case Else
Range(r & ":" & r).Select
'Rows(r).Select
End Select
Next r
End Sub
的OP的方法來找到一列中的最後一個非空單元格都「TLA」之間的值進行排序。您的方法也可以使用,但是您正在運行1,048,576行表單中的每一行。確實,空單元格會被跳過,但是浪費迭代是非常低效的。 – 147
嗯,我強烈懷疑他需要工作表中的所有行,這就是爲什麼我應用了usedrange。它限於實際使用的範圍。而且,當你使用帶計數器的.cells時,你顯然也在迭代。對於性能而言,加載到數組和循環內存將是最快的;我避免了這個,因爲我不想混淆這個人。 – Trace
darn ....錯過了'.usedrange' - 好的電話 – 147