ªð¦^¦Cªí ¤W¤@¥DÃD µo©«

[µo°Ý] VBA ½Ð°Ý¦r¼Æ+¦r¥À±Æ§Ç«ç»ò°µ

  1. Sub tt()
  2. Dim Arr, Brr, n&
  3. n = [A65536].End(xlUp).Row
  4. With [B2].Resize(n - 1)
  5.     .Formula = "=LEN(A2)"
  6.     .Value = .Value
  7. End With

  8. With Range([A1], [B65536].End(xlUp))
  9.     Brr = .Value
  10.     .Sort Key1:=.Item(2), Order1:=xlAscending, Header:=xlYes
  11.     Arr = .Value
  12.     .Value = Brr
  13. End With

  14. [d1].Resize(UBound(Arr)) = Arr
  15. Range("B2:B" & n) = ""
  16. End Sub
½Æ»s¥N½X

TOP

¦^´_ 14# s13030029

­É¥Î­ã¤j­×§ï¦p¤U
Sub TEST()
Dim R&, Arr, LN&
R = Cells(Rows.Count, 1).End(xlUp).Row
If R < 3 Then Exit Sub
With Range("A2:A" & R)
    Arr = .Value
    For i = 1 To .Count
        ipos = InStr(5, Arr(i, 1), "-")
        If ipos > o Then
            xR = Mid(Arr(i, 1), 1, ipos - 1)
            Arr(i, 1) = 100 + IIf(LN = 0, 99, ipos - 1) & "|" & Arr(i, 1)
        Else
            LN = Len(Arr(i, 1))
            Arr(i, 1) = 100 + IIf(LN = 0, 99, LN) & "|" & Arr(i, 1)
        End If
      Next i
      .Value = Arr
      .Sort Key1:=.Item(1), Order1:=xlAscending, Header:=xlNo
      .Replace "*|", "", Lookat:=xlPart
End With
End Sub

TOP

        ÀR«ä¦Û¦b : ºÉ¦h¤Ö¥»¥÷¡A´N±o¦h¤Ö¥»¨Æ¡C
ªð¦^¦Cªí ¤W¤@¥DÃD