總是說worksheet 作用range錯誤,哪里錯了?
代碼如下,sheet3有自定義序列,是有順序百家姓,剩下的作業簿是沒有排序的名字,姓加名,未排序
幫我看看哪里錯了!求救!
Option Explicit
Sub demo1()
Dim sin As Worksheet, rng As Range, i As Long, myorder As Range
Set myorder = Worksheets("sheet3").Range("b3:b18")
Application.AddCustomList (myorder)
For Each sin In Worksheets
If sin.Name <> "Sheet3" Then
i = 2
Do While sin.Cells(i, 2).Value <> ""
sin.Cells(i, 1).Value = Left(sin.Cells(i, 2), 1)
i = i + 1
Loop
Set rng = sin.Range(Cells(1, 1), Cells(1, 1).End(xlDown).End(xlToRight))
rng.Sort key1:=Range("A:A"), ordercustom:=Application.CustomListCount + 1
Range("A:A").Clear
End If
Next
Application.DeleteCustomList (Application.CustomListCount + 1)
End Sub
uj5u.com熱心網友回復:
咋覺得你這操作就是 先把姓名列的姓放到一列新的,然后再vlookup從sheet3里找到相應的序號,最后用序號列進行排序。操作一遍錄制一個宏,然后再稍作修改即可。
uj5u.com熱心網友回復:
Set rng = sin.Range(Cells(1, 1), Cells(1, 1).End(xlDown).End(xlToRight))這行改成:
Set rng = sin.Range(sin.Cells(1, 1), sin.Cells(1, 1).End(xlDown).End(xlToRight))
試試?
uj5u.com熱心網友回復:
已解決啦,謝謝大家,細節沒有注意轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/33363.html
標籤:VBA
下一篇:運行時錯誤 0
