Ip adreslerin boş olanını verme

Katılım
2 Nisan 2024
Mesajlar
4
Excel Vers. ve Dili
2021
c sütününda x.x.x.001 şeklinde ip adreslerini büyükten küçüğe listeletiyorum. istediğim bunların arasından tarama yapıp 1-254 arasında listede olmayan ip adreslerini verecek makro kodu. Yapılabilir mi?
 

Necdet

Moderatör
Yönetici
Katılım
4 Haziran 2005
Mesajlar
15,359
Excel Vers. ve Dili
Ofis 365 Türkçe
Bizim köyde konuşmaya ya da soru sormaya Merhaba, İyi günler gibi sözcüklerle başlanır.
Sizin köyde doğrudan mahabbet olayı herhalde :)
Örnek dosyanızı paylaşım sitelerinden birine yükleyin.
 
Katılım
2 Nisan 2024
Mesajlar
4
Excel Vers. ve Dili
2021
Evet bu burada ikinci mesaj için girişimim. İlkinde merhaba vs dedim ama hiç cevap alamadım. Bunda fırça yedim alttan alıp salağa yattım yine bir cevap alamadım. Yine de tekrardan bir merhaba. Bununla ilgili yardım edebilecek var mı?
 

Necdet

Moderatör
Yönetici
Katılım
4 Haziran 2005
Mesajlar
15,359
Excel Vers. ve Dili
Ofis 365 Türkçe
Merhaba,
ip adresleri 4 gruptan oluşuyor, siz 1-254 arası olmayanları hangi grup içinde aranacak?
Ayrıca c sütununda ip adresleri yok,.
Olmayan adresleri nerede listelenecek vs.
 

dEdE

Destek Ekibi
Destek Ekibi
Katılım
1 Temmuz 2005
Mesajlar
2,605
Excel Vers. ve Dili
Ofis 2013 TR 64 Bit
Merhaba,
Ben şöyle anladım:
#3 no.lu mesaja ekli "Donanım Listesi Form.xlsm" isimli dosyanın Sayfa2 isimli sayfasının C sütununda bulunan IP numaralarının(ilk üç grubun aynı olduğu varsayılarak) 4.grubundaki numaralardan (001-254 arasında) eksik olanların bulunması.
Buna göre aşağıdaki kodSayfa2 D (D2'den başlayarak) sütununa eksik olan numaraları yazar.
C++:
Sub IP_Bul()
    Set s1 = Sheets("Sayfa2")
    ss = s1.Cells(Rows.Count, "C").End(3).Row
    myArr = s1.Range("C2:C" & ss)
    s1.Range("D2:D" & s1.Cells(Rows.Count, "C").End(3).Row).ClearContents
    myIP = Left(myArr(1, 1), 12)
    Sat = 2
   
    Set myList = CreateObject("System.Collections.ArrayList")
        For i = 1 To UBound(myArr)
           If Not myList.Contains(myArr(i, 1)) Then myList.Add myArr(i, 1)
        Next
   
    For k = 1 To 254
        If Len(k) < 2 Then y = "00" & k
        If Len(k) = 2 Then y = "0" & k
        If Len(k) = 3 Then y = k
        yx = myIP & y
            If Not myList.Contains(yx) Then
                s1.Cells(Sat, 4) = yx
                Sat = Sat + 1
            End If
    Next k
End Sub
 

veyselemre

Özel Üye
Katılım
9 Mart 2005
Mesajlar
3,642
Excel Vers. ve Dili
Pro Plus 2021
Kod:
Sub test()
    Dim veri, i, ii, bl, ilkP, say1, say2, v
    With Sheets("Sayfa1")
        veri = .Range("G2:J" & .Cells(Rows.Count, "A").End(3).Row).Value
    End With
    With CreateObject("Scripting.Dictionary")
        For i = 1 To UBound(veri)
            For ii = 1 To 4 Step 3
                v = veri(i, ii)
                If v <> "" And IsNumeric(v) And _
                   Len(v) - Len(Replace(v, ".", "")) = 3 Then
                    bl = Split(StrReverse(v), ".", 2)
                    bl(0) = StrReverse(bl(0))
                    bl(1) = StrReverse(bl(1))
                    If ilkP = "" Then ilkP = bl(1)
                    If ilkP = bl(1) Then .Item(Val(bl(0))) = Null
                End If
            Next ii
        Next i
        Sheets("Sayfa1").Range("M:N").ClearContents
        For i = 1 To 254
            If .exists(i) Then
                say1 = say1 + 1
                Sheets("Sayfa1").Range("M" & say1).Value = ilkP & "." & i
            Else
                say2 = say2 + 1
                Sheets("Sayfa1").Range("N" & say2).Value = ilkP & "." & i
            End If
        Next i
    End With
End Sub
 
Üst