vba excel宏来排序和重新分配值

时间:2017-04-21 09:44:01

标签: excel vba excel-vba sorting

我需要有关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 - 对不起我第一次没有用这种方式写我的问题,我觉得有人有更好的主意。

0 个答案:

没有答案