Zahlen in Excelzelle vergleichen

Ich nehme den Wert der Zelle ( also die Telefonnummer ) und ersetze die Ziffernfolge "0049" durch "1". Danach schaue ich mir die ersten beiden Ziffern der neuen Ziffernfolge an. Sind diese immer noch "00", dann passiert nichts ( GoTo ite, also Überspringen der Löschsequenz ) und ich mache mit der nächsten Zelle weiter. Ist es nicht "00", dann wird die Zelle gelöscht.

Folgende Telefonnummern sind möglich:

a) Internationale nichtdeutsche Vorwahl
00121234567
nach dem Ersetzen steht immer noch 00121234567 da. "00" zu Beginn. Zelle bleibt stehen.

b) Internationale deutsche Vorwahl
00491234567
nach dem Ersetzen steht da 11234567 -> keine "00" zu Beginn, Zelle wird gelöscht

c) nationale deutsche Vorwahl oder Handy
0891234567 ( oder 01501234567 )
nach dem Ersetzen steht immer noch 0891234567 ( oder 01501234567 ) da -> keine zwei Nullen zu Beginn, Zelle wird gelöscht

d) deutsche Nummer ohne Vorwahl:
1234567
nach dem Ersetzen steht immer noch 1234567 da -> keine zwei Nullen zu Beginn, Zelle wird gelöscht

Sonderfall:
e) Internationale nichtdeutsche Vorwahl, bei der 0049 Bestandteil der normalen Nummer ist:
001212004978
auch kein Problem. Nach dem Ersetzen ist die Nummer 001212178 -> "00" am Anfang, die Zelle bleibt erhalten
 
Zuletzt bearbeitet:
danke für die Erklärung :)

Werde morgen mal mein komplettes Script hochladen, dann kann jeder der will sich das mal angucken.

Sollte morgen fertig sein, die wichtigsten Sachen funktionieren :)
 
Im Groben steht das Marko jetzt.

So siehts aus:

Modul1
Formatiert die Zellen, damit diese im nachhinein verglichen werden können und Gespräch die kleiner als 10 Sekunden sind raus geschmissen werden.
PHP:
Sub Formatierung()
    
    For i = 1 To 65000
    zaehler = i + 1
    
    If Range("K" & zaehler).Value = "" Then
        GoTo ende
            Else
            
    Range("K" & zaehler).Select
    ActiveCell = Format(ActiveCell.Value, "h: mm: ss")
    End If
    Next i
    
ende:
zaehler = 0
i = 0

End Sub

Sub loeschen()

Dim zeile As String
Dim nummer As Integer
'nummer ist Zeile
    
    Range("O1") = "00:00:10"
    
       
    For i = 1 To 5000
    zaehler = i + 1
    If Range("K" & zaehler).Value = "" Then
        GoTo ende
            Else
                If Range("K" & zaehler) < Range("O1") Then

                zeile = zaehler & ":" & zaehler
                Rows(zeile).Select
                Selection.Delete Shift:=xlUp
                ' Zähler um eines zurücksetzen, da eine zeile gelöscht wurde
                i = i - 1
                Else
                End If
    End If
    Next i
    
ende:

    Range("O1").Select
    Selection.ClearContents
    Range("N2").Select
    
zaehler = 0
i = 0

End Sub

Modul2

Löscht alle Auslandtelefonnummern raus, wobei es noch Probleme gibt mit der Hamburger-Vorwahl und der Berliner-Vorwahl, da diese der rumänischen und der griechischen Vorwahl ähneln.
Zum Schluss wird die Anzahl der jeweiligen Werte in eine Zelle geschrieben.
PHP:
Sub Vorwahlen()
For i = 1 To 65000
  If Cells(i, 8) = "" Then GoTo ende
  If Left(Replace(Cells(i, 8).Value, "0049", "1"), 2) = "00" Then GoTo ite
    Rows(i).Select
  Selection.Delete
  i = i - 1
ite:
Next i
 
ende:
 End Sub

Sub Vorwahlen2()
For i = 1 To 65000
If Cells(i, 8) = "00" Then
Rows(i).Select
Selection.Delete
i = i - 1
Else
End If
Next i
End Sub


'Polen          0048
'Tschechien     0042
'Rumänien       0040
'Schweiz        0041
'Österreich     0043
'Griechenland   0030
'Bulgarien      0035
'Ungarn         0036
'Ukraine        0038
'Litauen        0037
'Serbien        0038
'Türkei         0090
'Russland       0077


Sub VorwahlZaehlen()


Dim arr As Variant
Dim Wert

Cells(2, 15).Value = "Polen"
Cells(3, 15).Value = "Tschechien"
Cells(4, 15).Value = "Rumänien"
Cells(5, 15).Value = "Schweiz"
Cells(6, 15).Value = "Österreich"
Cells(7, 15).Value = "Griechenland"
Cells(8, 15).Value = "Bulgarien"
Cells(9, 15).Value = "Ungarn"
Cells(10, 15).Value = "Ukraine"
Cells(11, 15).Value = "Litauen"
Cells(12, 15).Value = "Serbien"
Cells(13, 15).Value = "Türkei"
Cells(14, 15).Value = "Russland"


For i = 1 To 65000
    
    zaehler = i + 1
    Range("h" & zaehler).Select
     
    If Range("h" & zaehler).Value = "" Then
        GoTo ende
    Else
    

         
    arr = ActiveCell.Value
        
    Wert = Left(arr, 4)
        Select Case Wert
        
        'Polen
        Case 48
        Cells(2, 16).Value = Cells(2, 16).Value + 1
        
        'Tschechien
        Case 42
        Cells(3, 16).Value = Cells(3, 16).Value + 1
        
        'Rumänien
        Case 40
        Cells(4, 16).Value = Cells(4, 16).Value + 1
        
        'Schweiz
        Case 41
        Cells(5, 16).Value = Cells(5, 16).Value + 1
        
        'Österreich
        Case 43
        Cells(6, 16).Value = Cells(6, 16).Value + 1
        
        'Griechenland
        Case 30
        Cells(7, 16).Value = Cells(7, 16).Value + 1
        
        'Bulgarien
        Case 35
        Cells(8, 16).Value = Cells(8, 16).Value + 1
        
        'Ungarn
        Case 36
        Cells(9, 16).Value = Cells(9, 16).Value + 1
        
        'Ukraine
        Case 38
        Cells(10, 16).Value = Cells(10, 16).Value + 1
        
        'Litauen
        Case 37
        Cells(11, 16).Value = Cells(11, 16).Value + 1
        
        'Serbien
        Case 38
        Cells(12, 16).Value = Cells(12, 16).Value + 1
        
        'Türkei
        Case 90
        Cells(13, 16).Value = Cells(13, 16).Value + 1
        
        'Russland
        Case 77
        Cells(14, 16).Value = Cells(14, 16).Value + 1
        
        End Select
    
    End If

Next i

ende:
End Sub