bloodyrulz

Nur letztes Zeichen einer IP Adresse Ändern und in andere Zeile schreiben

Hallo,

ich hoffe es kann mir jemand helfen.
Ich bräuchte die Lösung über VBA.
Ich habe eine Liste mit IP Adressen.
In Spalte H stehen z.B folgende IP Adresssen.
10.25.45.0
10.35.0.0
10.88.245.0
10.0.0.0

Insgesammt sind es über 600 Zeilen.

Ich möchte das nur die letze Null durch eine Zahl erstezt wird, und in die Nachbarzelle geschrieben wird, zudem soll der dann eine Spalte weiter das selbe machen mit wieder einer anderen Zahl am ENDE.

Die erste Zeile sollte dann so ausschauen.


10.25.45.0 10.25.45.254 10.25.45.252 10.25.45.253 10.24.45.4

Nullen innerhalb der IP Adressen wie 10.0.0.0 dürfen auch nur im letzen Octet geändert werden.

Vielen Dank im Voraus.

Lg Andreas
Auf Facebook teilen
Auf X (Twitter) teilen
Auf Reddit teilen
Auf Linkedin teilen

Content-ID: 283285

Url: https://administrator.de/forum/nur-letztes-zeichen-einer-ip-adresse-aendern-und-in-andere-zeile-schreiben-283285.html

Ausgedruckt am: 27.04.2025 um 01:04 Uhr

114757
Lösung 114757 18.09.2015 aktualisiert um 15:54:09 Uhr
Goto Top
Moin,
hier das Beispiel für eine Spalte, für die nächste solltest du es anhand des Codes nun selbst schaffen ..
Sub correctIPs()
    With ActiveSheet
        for each cell in .Range("H1:H" & .Cells(Rows.Count,"H").End(xlUp).Row)  
            arrIP = Split(cell.Value,".")  
            cell.Offset(0,1).Value = arrIP(0) & "." & arrIP(1) & "." & arrIP(2) & "." & "254"  
        Next
    End With
End Sub

Gruß jodel32
BloodyRulz
BloodyRulz 18.09.2015 um 15:54:05 Uhr
Goto Top
Hallo Jodel,

vielen Dank für deine schnelle Hilfe.
Das hat mir sehr geholfen.
Leider gab es bei mir einen Fehler in Zeile 3.

Ich habe das nach meinen sehr geringen wissen umgeschrieben und siehe da es funktioniert.


Sub correctIPs()
Dim Zeile As Long
Dim ZeileMax As Long

With Tabelle1
ZeileMax = .UsedRange.Rows.Count

    For Zeile = 7 To ZeileMax

        arrIP = Split(.Cells(Zeile, 8).Value, ".")  
        .Cells(Zeile, 9).Value = arrIP(0) & "." & arrIP(1) & "." & arrIP(2) & "." & "254"  
        .Cells(Zeile, 10).Value = arrIP(0) & "." & arrIP(1) & "." & arrIP(2) & "." & "252"  
        .Cells(Zeile, 11).Value = arrIP(0) & "." & arrIP(1) & "." & arrIP(2) & "." & "253"  
        .Cells(Zeile, 12).Value = arrIP(0) & "." & arrIP(1) & "." & arrIP(2) & "." & "4"  
        .Cells(Zeile, 13).Value = arrIP(0) & "." & arrIP(1) & "." & arrIP(2) & "." & "184"  
        
  Next Zeile
  

End With

End Sub


Vielen Herzlichen Dank
114757
114757 18.09.2015 um 15:55:31 Uhr
Goto Top
War nur ein Typo, ist korrigiert ...