suche ein makro das mir in Tabelle1 Spalte B1 bis ca. B30000 (variabel) alle 3stelligen zahlen löscht.
Also nur den Wert löschen der Rest muß bleiben.
Mit freundlichen Grüßen
Manfred
B | C | |
1 | 63 | stehen lassen |
2 | 357 | |
3 | 387 | |
4 | 26 | stehen lassen |
5 | 340 | |
6 | 136 | |
7 | 144 | |
8 | 27 | stehen lassen |
9 | 347 | |
10 | 4435646 | stehen lassen |
11 | 364 | |
12 | 165 | |
13 | 45 | stehen lassen |
14 | 168 | |
15 | 365 | |
16 | 364 | |
17 | 140 | |
18 | 20 | stehen lassen |
19 | 134 | |
20 | 164 |
B | C | |
1 | 63 | stehen lassen |
2 | ||
3 | ||
4 | 26 | stehen lassen |
5 | ||
6 | ||
7 | ||
8 | 27 | stehen lassen |
9 | ||
10 | 4435646 | stehen lassen |
11 | ||
12 | ||
13 | 45 | stehen lassen |
14 | ||
15 | ||
16 | ||
17 | ||
18 | 20 | stehen lassen |
Option Explicit
Sub NurWert()
Dim x&, Time1 As Date, Time2 As Date
Time1 = Now
Application.ScreenUpdating = False
For x = 1 To 30000
If Len(Cells(x, 2)) = 3 And IsNumeric(Cells(x, 2)) Then
Cells(x, 2).ClearContents
End If
Next
Time2 = Now
Application.ScreenUpdating = True
MsgBox Time2 - Time1
End Sub
Also nur den Wert löschen der Rest muß bleiben.
Sub ttt()
Dim rngC As Range, rngDel As Range
Application.ScreenUpdating = False
For Each rngC In Columns(2).SpecialCells(xlCellTypeConstants, xlNumbers)
Select Case rngC
Case 100 To 999
If rngDel Is Nothing Then
Set rngDel = rngC
Else
Set rngDel = Union(rngDel, rngC)
End If
End Select
Next
If Not rngDel Is Nothing Then rngDel.ClearContents
End Sub