• Privacywetgeving
    Het is bij Helpmij.nl niet toegestaan om persoonsgegevens in een voorbeeld te plaatsen. Alle voorbeelden die persoonsgegevens bevatten zullen zonder opgaaf van reden verwijderd worden. In de vraag zal specifiek vermeld moeten worden dat het om fictieve namen gaat.

VBA - Getal achter derde punt onttrekken

Status
Niet open voor verdere reacties.

spaarie

Terugkerende gebruiker
Lid geworden
11 jul 2011
Berichten
1.784
Helpers,

Hoe kan ik m.b.v. VBA de laatste cijfers uit een IP adres onttrekken zodat ik deze weer kan gebruiken in een For Next statement?
Code:
laatste_cijfers = ?

Excel formule hiervoor is
=DEEL(A2;VIND.ALLES("~";SUBSTITUEREN(A2;".";"~";3))+1;3)
 
Laatst bewerkt:
Dat kan met deze functie in een module:
Code:
Function Deel_ip(IPadres As String, Deel As Integer) As Integer
    Dim IP() As String
    IP = Split(IPadres, ".")
    Deel_ip = IP(Deel - 1)
End Function

Aanroep Excel: =Deel_ip(A1;4)
Aanroep VBA: var = Deel_ip(ip adres, gewenst deel)
 
Laatst bewerkt:
Bedankt voor je reactie edmoor. Het was niet geheel wat ik zocht, maar door jouw 'Split' kreeg ik weer een helder moment.
Dit volstaat namelijk al:
Code:
laatste_cijfers = Split(ipadres, ".")(2)

Soms heb je weleens zo'n blokkade ;)
 
Zo leiden er meer wegen naar Rome :)
 
In het algemeen:

Code:
laatste_cijfers = Split(ipadres, ".")(ubound(split(ipadres,".")))
 
tot de derde punt:

Code:
tot_de_laatste_punt = split(ipadres, "." & Split(ipadres, ".")(ubound(split(ipadres,"."))))(0)
 
Laatst bewerkt:
Aha, ik zie het. Mooi opgelost zo!
Bedankt snb.
 
Voor de robuustheid: (bijv. 192.12.126.12)

Code:
tot_de_laatste_punt = split(ipadres&"_", "." & Split(ipadres&"_", ".")(ubound(split(ipadres&"_","."))))(0)

maar dan kan het ook zo:

Code:
tot_de_laatste_punt=join(filter(split(ipadres & "_","."),"_",false),".")
 
Laatst bewerkt:
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan