我需要有关vba excel宏的帮助。我有一个固定大小的表,在B列(Acer,Asus,Toshiba,HP等......)中有名称,在接下来的16列中有数字值。 Acer 23 34 200 11 0 0 0 ... 华硕300 23 500 123 ...... 我需要的是制作一个vba宏,它将对每行中的数字进行排序(降序或升序,只要它们按大小排序就不重要)。 我试过了:
Sub Sorter()
Dim i As Integer
Dim j As Integer
Dim temp As Integer
Dim rng As Range
Dim poslovi As Range
Dim y As Integer
Dim k As Integer
Set poslovi = Range("C5:R20")
y = 1
With poslovi
For k = 1 To 16
Set rng = Range(poslovi.Rows(y).Cells(1), poslovi.Rows(y).Cells(16))
For i = 1 To 16
For j = i + 1 To rng.Count
If rng.Cells(j) < rng.Cells(i) Then
temp = rng.Cells(i)
rng.Cells(i) = rng.Cells(j)
rng.Cells(j) = temp
End If
Next j
Next i
y = y + 1
Next k
End With
End Sub
问题是在前两行中对值进行排序然后给出运行时错误 - 溢出。我知道它与所有这些循环有关,但我无法弄清楚为什么它会在两行之后停止。 这只是问题的一部分,但在完成此操作之前,我无法专注于下一阶段。 @Ralph - 对不起我第一次没有用这种方式写我的问题,我觉得有人有更好的主意。