Her 14 Satırda bir boş satırlarda hücrelerde belirli verileri yazmak

Katılım
8 Eylül 2008
Mesajlar
950
Excel Vers. ve Dili
2016 İngilizce
Merhabalar

Örnek excel dosyam aşağıdaki linktedir.

Bu dosya 5 sütunlu 30000 satırdan oluşan verilerden oluşmaktadır.
ilk satır başlık satırı olup bundan sonraki her 14 satırda bir boş satırlar vardır
bu boş satırlarda B sütununa denk gelen hücrelere "asp" verisini yazmalıdır.
C sütununa denk gelen satılarda ise ilk 14 satır hariç her hücrede formül düzeneği vardır bu formül düzeneğine göre aslında bir üstteki IP bilgisinin son oktetinin 1 artmış hali geliyor. bu formülün ingilizce haliyle yazılması gerekiyor
D ve E sütunlarına gelecek verilerde yine sabit veri olup excel dosyasında bunu belirttim.

bilgi ve yardımlarınızı rica ederim

 

Ömer

Moderatör
Yönetici
Katılım
18 Ağustos 2007
Mesajlar
22,184
Excel Vers. ve Dili
Microsoft 365 Tr
Ofis 2016 Tr
Merhaba,

Deneyiniz.
SOLDAN(C16;7)&PARÇAAL(C16;8;4)&TOPLA(SAĞDAN(C16;3)-32) formülü yerine SOLDAN(C16;11)&SAĞDAN(C16;3)-32 kullandım. Aynı sonucu üretiyor.
Kod:
Sub test()
   
    Dim i As Long, s As Byte
   
    [C:C].NumberFormat = "General"
   
    For i = 16 To Cells(Rows.Count, "A").End(xlUp).Row Step 15
        s = 0
        If i = 16 Then s = 1
        Cells(i, "B") = "asp"
        Cells(i, "D") = 28
        Cells(i, "E") = "255.255.255.240"
        Cells(i, "C").Formula = "=Left(" & Cells(i - 15 + s, "C").Address(0, 0) & " ,11)&Right(" & Cells(i - 15 + s, "C").Address(0, 0) & ",3)-32"
    Next i
   
End Sub
.
 

Ekli dosyalar

Katılım
8 Eylül 2008
Mesajlar
950
Excel Vers. ve Dili
2016 İngilizce
Üstadım merhaba

makroyu uyguladığım zaman 3. sütun olan IP sütununda 97. Satıra kadar formülü yazıp formüle göre veriler geldi. fakat sonrasındaki satırlarda #Value hatası vermekte formül. 106, 121 ... şeklinde giden satırlarda neden kaynaklanıyor olabilir acaba

NOT : B,D,E sütunlarında boş satırlara ilgili veriler sorunsuz geliyor.
 

Ömer

Moderatör
Yönetici
Katılım
18 Ağustos 2007
Mesajlar
22,184
Excel Vers. ve Dili
Microsoft 365 Tr
Ofis 2016 Tr
Hata veren C91. hücredeki değerinin sağdan 3 değeri sayı olmadığı içindir.

SAĞDAN(C16;3)-32 gibi bir yapıyla formülü ilerletiyorsunuz. -32 değer sonucu formül 2 basamaklı sayı üretirse;

100.23.255.97 gibi. Burada sağdan 3 değeri .97 dir. Veri içinde nokta olduğu için bu değer sayı olmaz, 32 değerinden çıkartıldığında hata alırsınız.

Buna göre bir mantık yürüterek ilerleyiniz. Ben yapmak istediğinizi bilmediğim için sadece sorunuza çözüm ürettim. Nasıl bir mantık yürütülecekse açıklarsanız ona göre çözüm önerebilirim.
 
Katılım
8 Eylül 2008
Mesajlar
950
Excel Vers. ve Dili
2016 İngilizce
doğru zira şöyle bir durum var bazı IP bilgilerini bir hücreye yazarsak onu arada noktalı halleriyle yazarken bazı IP verilerini noktalı yazdığını halde noktalarını gstermiyor. ben böyle durumda o sütunu tümden text moduna çeviriyorum. ama örnek excel dosyada
100.23.255.93 verisini yazdı bir sonraki boş satırda 100.23.255.61 yazması gerekirken #VALUE yazdı

kod düzeneğinde
[C:C].NumberFormat = "General"
olan kodu
[C:C].NumberFormat = "Text"
yaptım ama yine olmadı
 

Ömer

Moderatör
Yönetici
Katılım
18 Ağustos 2007
Mesajlar
22,184
Excel Vers. ve Dili
Microsoft 365 Tr
Ofis 2016 Tr
Eğer hücrede formül kullanacaksanız text formatı kullanamazsanız. Formül sonucunu değer olarak yazdırırsanız text formatı kullanabilirsiniz.

Ayrıca ben neden hata verdiğini diğer mesajımda açıklamaya çalışmıştım. Başaramadım sanırım.

100.23.255.93 bu değeri farklı bir sayfada A1 hücresine yazın. B1 hücresine de =sağdan(a1;3) yazdığınız da sonuç 93 değil .93 olarak gelir. Başından nokta olan bir değeri de matematik işlemine sokamazsanız.

Önce bu akışa göre nasıl bir çözüm düşündüğünüzü belirlemeniz gerekir.
Eğer olay son noktadan sonraki sayıya -32 yapmaksa, son noktadan sonraki rakam 32 den küçük olursa ne olacak. Yada düşünceniz nedir.
 
Katılım
8 Eylül 2008
Mesajlar
950
Excel Vers. ve Dili
2016 İngilizce
Açıkçası bende durumu anlayamadım. ama formül düzeneğine baktığımda şunu görüyorum. ilk 14 hücrede formül düzeneği aşağıdaki gibi giderken

=LEFT(C2;7)&MID(C2;8;4)&SUM(RIGHT(C2;3)-32)
=LEFT(C3;7)&MID(C3;8;4)&SUM(RIGHT(C3;3)-32)
=LEFT(C4;7)&MID(C4;8;4)&SUM(RIGHT(C4;3)-32)
=LEFT(C5;7)&MID(C5;8;4)&SUM(RIGHT(C5;3)-32)
=LEFT(C6;7)&MID(C6;8;4)&SUM(RIGHT(C6;3)-32)
=LEFT(C7;7)&MID(C7;8;4)&SUM(RIGHT(C7;3)-32)
=LEFT(C8;7)&MID(C8;8;4)&SUM(RIGHT(C8;3)-32)
=LEFT(C9;7)&MID(C9;8;4)&SUM(RIGHT(C9;3)-32)
=LEFT(C10;7)&MID(C10;8;4)&SUM(RIGHT(C10;3)-32)
=LEFT(C11;7)&MID(C11;8;4)&SUM(RIGHT(C11;3)-32)
=LEFT(C12;7)&MID(C12;8;4)&SUM(RIGHT(C12;3)-32)
=LEFT(C13;7)&MID(C13;8;4)&SUM(RIGHT(C13;3)-32)
=LEFT(C14;7)&MID(C14;8;4)&SUM(RIGHT(C14;3)-32)
=LEFT(C15;7)&MID(C15;8;4)&SUM(RIGHT(C15;3)-32)

boş satırda formül olarak aşağıdaki gibi bir formül geliyor. yukarıdaki parçaal ve topla formül içeriği yok. ben yukarıdaki formül düzeneğini devamettirip boş satıra makro ile gelen formülü silip yukarıdaki formül düzeneğinin devamını yazınca sorun çıkmıyor
=LEFT(C16;11)&(RIGHT(C16;3)-32)

yani boş satıra. aşağıdaki gibi formülle devam ettirince hata vermiyor. makro içeriğinde boş satırlarda c sütununa aşağıdaki formül yazılmalı diye düşünüyorum.
=LEFT(C16;7)&MID(C16;8;4)&SUM(RIGHT(C16;3)-32)
 
Katılım
8 Eylül 2008
Mesajlar
950
Excel Vers. ve Dili
2016 İngilizce
bu formülü makro kod düzeneğinde nasıl yazabiliriz acaba
=LEFT(C16;7)&MID(C16;8;4)&SUM(RIGHT(C16;3)-32)
 
Katılım
8 Eylül 2008
Mesajlar
950
Excel Vers. ve Dili
2016 İngilizce
Bu konudaki sorumu yineliyorum

ekteki dosyada sarı renkli alanlar boş olan satırlardır. bu satırlarda C sütununa bir üstteki satıra göre örneğin bir üst satır 29 ise "SOLDAN(C30;MBUL(".";C30;9)-1)&"."&PARÇAAL(C30;MBUL(".";C30;9)+1;3)+1" formülü yazsın istiyorum. bu formül bir üst satırdaki IP düzeneğindeki son okteti 1 artıracaktır. böylelikle bir önceki makrodaki formülün devamı olacak hatayı almayacağım.
B sütununda yine boş satıra asp yazacak D ve e ye ise konu başında belirttiğim gibi verileri yazması yeterli olacaktır

bilgilerinizi ve yardımlarınızı rica ederim

 
Üst