|
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用 · 内置多项VBA编程加强工具 ★ 免费下载 ★ ★ 使用手册★
我写了一个为了清除某些过大数据的VBA程序,但是我的程序不能一次将同一列里面所有过大的数据一起清除,只能一个一个清除。- Public Function Removechar()
- Dim End_Row_No As Long
- Dim Row_Index As Integer
- Dim RowDelete As Integer
- For End_Row_No = 2 To 50000
- If Cells(End_Row_No, 1).Value = "" Then Exit For
- Next End_Row_No
- For Row_Index = 2 To End_Row_No Step 1
-
- For RowDelete = 1 To Row_Index - 1 Step 1
- If RowDelete >= Row_Index Then
- Exit For
- End If
- If Cells(RowDelete, 2).Value = Cells(Row_Index, 2).Value Then
- Rows(RowDelete).Delete
- RowDelete = RowDelete - 1
- If Row_Index > 4 Then
- Row_Index = Row_Index - 1
- End If
- End If
- Next RowDelete
- If Cells(Row_Index, 2).Value = "" Or Cells(Row_Index, 2).Value = Empty Then Exit For
- Next Row_Index
- For i = 2 To 10000
- If IsEmpty(ActiveSheet.Cells(i, 1)) Then
- RowQty = i
- Exit For
-
- End If
- Next i
- RowQty = RowQty - 1
- For j = 2 To RowQty
- For k = 4 To 18
- SpacePos = InStr(1, ActiveSheet.Cells(j, k), " ", vbTextCompare)
- If SpacePos = 0 Then
- If (Len(ActiveSheet.Cells(j, k)) > 0) Then
- If (Asc(ActiveSheet.Cells(j, k)) < 65) Then
- ActiveSheet.Cells(j, k) = Val(ActiveSheet.Cells(j, k))
- End If
- End If
- Else
- ActiveSheet.Cells(j, k) = Val(Left(ActiveSheet.Cells(j, k), SpacePos - 1))
-
- End If
- Next k
- Next j
- End Function
- Sub Correct_Number()
- Application.ScreenUpdating = False
- Set sht1 = ThisWorkbook.Worksheets("TEC_PLUS")
- Set sht2 = ThisWorkbook.Worksheets("SiB_htr_res")
- Set sht3 = ThisWorkbook.Worksheets("Thermistor_res")
- Dim success As Boolean
- sht1.Activate
- success = Removechar()
- sht2.Activate
- success = Removechar()
- sht3.Activate
- success = Removechar()
- Dim m As Integer
- For m = 2 To 10000
- If sht1.Cells(m, 4).Value > 5 Then
- sht1.Rows(m).Delete
- End If
- Next
- '-------------------
- Dim n As Integer
- For n = 2 To 10000
- If sht2.Cells(n, 5).Value > 220 Then
- sht2.Rows(n).Delete
- End If
- Next
- '-------------------
- Dim o As Integer
- For o = 2 To 10000
- If sht3.Cells(o, 4).Value > 120000 Then
- sht3.Rows(o).Delete
- End If
- Next
- '-------------------
- ThisWorkbook.Charts("X3GG383CE").Activate
- Application.ScreenUpdating = True
- End Sub
复制代码
|
|