返回列表 上一主題 發帖

[發問] 公式如何精簡

建議用vba
  1. Sub ex()
  2. Dim Ar() As String, s, a, time
  3. Application.Range("A:D").SortSpecial key1:=Range("D:D")
  4. '讓A:D的資料根據D的大小,由小至大排列
  5. s = WorksheetFunction.CountIf(Range("A:A"), "V1")
  6. '計算有幾個V1,V1超過65535就會錯誤
  7. ReDim Ar(0 To s) As String
  8. With Sheets(1)
  9.    s = 0
  10.    For Each a In .Range(.[D1], .[D1].End(xlDown))
  11.       If a.Offset(, -3) = "V1" Then
  12.       
  13.       Ar(s) = a.Value
  14.       s = s + 1
  15.       End If
  16.          
  17.    Next
  18.    .[F1].Resize(s, 1) = Application.Transpose(Ar)
  19.    '把資料儲存在F1
  20. End With

  21. End Sub
複製代碼
50 字節以內
不支持自定義 Discuz! 代碼

TOP

回復 5# phoenix1
  1. Sub ex()
  2. Dim Ar() As String, s, a, time

  3. s = WorksheetFunction.CountIf(Range("A:A"), "V1")
  4. '計算有幾個V1,V1超過65535就會錯誤
  5. .Range("F:F").Clear
  6. '清空F:F的資料
  7. ReDim Ar(0 To s) As String
  8. With Sheets(1)
  9.    s = 0
  10.    For Each a In .Range(.[D1], .[D1].End(xlDown))
  11.       If a.Offset(, -3) = "V1" Then
  12.       
  13.       Ar(s) = a.Value
  14.       s = s + 1
  15.       End If
  16.          
  17.    Next
  18.    .[F1].Resize(s, 1) = Application.Transpose(Ar)
  19.    '把資料儲存在F1
  20. End With

  21. End Sub
複製代碼
放在同一頁的F1, 順序不變動
50 字節以內
不支持自定義 Discuz! 代碼

TOP

        靜思自在 : 愛不是要求對方,而是要由自身的付出。
返回列表 上一主題