• DİKKAT

    DOSYA İndirmek/Yüklemek için ÜCRETLİ ALTIN ÜYELİK Gereklidir!
    Altın Üyelik Hakkında Bilgi

Subnet Hesaplama

Katılım
15 Ocak 2010
Mesajlar
99
Excel Vers. ve Dili
Libre Office Türkçe
Merhaba.

Ben şu an WPS programını kullanarak excel dosyalarını çalıştırıyorum. Bu programda Bitand (Bitve) formülü olmadığı için siz(ler)den şöyle bir makro talebinde bulunuyorum:

A, B, C ve D sütunlarının ilk iki satırında IP adreslerinin 10 sayı tabanındaki oktetlerini elle yazacağım. Daha sonra yazılan bu oktetlerin 8 tane rakamdan oluşan 2 sayı tabanındaki karşılıklarının (Mesela, 1 oktetinin 2 sayı tabanındaki karşılığı 00000001 olarak yazılmalı.) aynı satırlardaki E,F,G,H sütunlarında yazılmasını sağlayan ve E,F,G,H sütünlarının ilk iki satırındaki 2 tabanında olan sayıların ise Bitve (Bitand) formülü işlemine tabi tutarak, bunun sonucunu E,F,G,H sütünlarının üçüncü satırına 2 sayı tabanında yazan ve A,B,C,D sütunlarının üçüncü satırına ise 10 sayı tabanında yazan bir makro programını siz(lerden) rica ediyorum.

Teşekkür ederim.

ÖRNEK:

A. sütun B. sütun C. sütun D. sütun
1. satır 192 168 1 50

E. sütun F. sütun G. sütun H. sütun
1. satır 11000000 10101000 00000001 00110010


A. sütun B. sütun C. sütun D. sütun
2. satır 255 255 255 252

E. sütun F. sütun G. sütun H. sütun
2. satır 11111111 11111111 11111111 11111100


A. sütun B. sütun C. sütun D. sütun
3. satır 192 168 1 48

E. sütun F. sütun G. sütun H. sütun
3. satır 11000000 10101000 00000001 00110000
 
Merhaba.

Sorunuzu olması gereken sonuçların elle yazıldığı örnek belge ile desteklerseniz daha kolay sonuca ulaşırsınız.
Örnek belge özellikleri ve örnek belge yükleme yöntemine ilişkin açıklama cevabımın alltındaki İMZA bölümünde var.

A1:D2 'deki veriler için aşağıdaki kod'u bir deneyin bakalım.
.
Kod:
[B]Sub VELI_DEMIR()[/B]
Range("E1:H2, A3:H3").Clear
Set wf = WorksheetFunction
For sat = 1 To Cells(Rows.Count, 1).End(3).Row
    For sut = 1 To 4
        Cells(sat, sut + 4).NumberFormat = "@"
        Cells(sat, sut + 4) = wf.Rept("0", 8 - Len(wf.Dec2Bin(Cells(sat, sut)))) & _
                              wf.Dec2Bin(Cells(sat, sut))
    Next
    If sat > 1 And wf.IsEven(sat) Then
        For sutt = 1 To 4
            Cells(sat + 1, sutt) = wf.Bitand(Cells(sat - 1, sutt), Cells(sat, sutt))
            Cells(sat + 1, sutt + 4).NumberFormat = "@"
            Cells(sat + 1, sutt + 4) = wf.Rept("0", 8 - Len(wf.Dec2Bin(Cells(sat + 1, sutt)))) & _
                              wf.Dec2Bin(Cells(sat + 1, sutt))
            Next
        End If
Next
[B]End Sub[/B]
 
Merhaba. Bu makro programı Office Excel'de doğru olarak çalışıyor. Bundan ötürü, size çok teşekkür ederim. Lakin, bu makro programı ücretsiz Open Office'da hata veriyor. Bu sebeple, eğer size zor olmayacaksa, söz konusu makro programını Open Office'e uygun hale getirmenizi sizden rica ediyorum. İyi akşamlar.
 
Merhaba.
OpenOffice ile ilgili hiçbir fikrim, tecrübem yok.
Molla google ye sorduğumda rastladığım aşağıdaki bağlantı üzerinden makro çalıştırıldıktan sonra oluşan dosyayı
makro içermeyen belge olarak kaydettikten sonra *.ods olarak çeviriebiliyorsunuz.
Convert işlemi yapan sayfa: http://www.convertfiles.com/convert/document/XLS-to-ODS.html
Mevcut iki satırlık verinin
(makro tarafından eklenen 3'üncü satır ve 4 sütun eklenip 3 satır 8 sütun halini alan makrosuz hali)
*.ods ye dönüşmüş hali ekteki gibi.

Belirttiğim gibi bilgim ve tecrübem yok. Benimkisi bir deneme sadece.

*.ods belgeye fareyle buraya tıklayarak erişebilirsiniz.
.
 
Geri
Üst