bloodyrulz
Goto Top

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

Content-Key: 283285

Url: https://administrator.de/contentid/283285

Printed on: April 23, 2024 at 07:04 o'clock

Mitglied: 114757
Solution 114757 Sep 18, 2015 updated at 13:54:09 (UTC)
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
Member: BloodyRulz
BloodyRulz Sep 18, 2015 at 13:54:05 (UTC)
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
Mitglied: 114757
114757 Sep 18, 2015 at 13:55:31 (UTC)
Goto Top
War nur ein Typo, ist korrigiert ...