• DİKKAT

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

yığın veri düzenleme

Katılım
17 Şubat 2006
Mesajlar
117
Merhaba,

Elimde her iki saniyede bir alınmış 1800 adet veri var. her hücreyi bir çoğaltarak veri sayısını 3600 e çıkartmak istiyorum. böylece her saniye veri alınmış gibi olacak. ekte elle yaptığım bir örnek var. yardımlarınız için teşekkür ederim.
 
Umarım doğru anlamışımdır. Aşağıdaki kodu dener misiniz?
Kod:
Sub COGALT()
[c2:d500].Clear
For t = 2 To [b65536].End(3).Row Step 1
c = c + 2
Cells(c, 4) = Cells(t, 2)
Cells(c + 1, 4) = Cells(t, 2)
Next
Cells(2, 3) = Format(Now, "hh:ss:mm")
For t = 2 To [d65536].End(3).Row - 1
Cells(t + 1, 3) = Format((Cells(t, 3) + TimeValue("00:00:01")), "hh:mm:ss")
Next
End Sub
 
hamitcan,
cok tesekkur ederim.

aslinda saat e gerek yoktu sadece b kolonundaki verilerin cogaltilmasi yeterli idi.

ancak bilgi edinmek acisindan saate baktigimda a kolonundaki degerleri almiyor saat dogru ama dakika farkli oluyor. daha sonra saniyeler de 1 er 1 er artiyor. sanki bir problem var gibi. bir inceleyebilirmisin?

tekrar cok tesekkur ederim.
 
Aşağıdaki kodu dener misiniz?

Kod:
Sub COGALT()
[c2:d500].Clear
For t = 2 To [b65536].End(3).Row Step 1
c = c + 2
Range(Cells(c, 3), Cells(c + 1, 3)) = Format(Cells(t, 1), "h:mm:ss")
Range(Cells(c, 4), Cells(c + 1, 4)) = Cells(t, 2)
Next
End Sub
 
hamitcan tekrar merhaba,

problemi soyle cozdum, belki sizinki de ayni seyi yapiyordur:
Sub SERDEN()
[c2:d500].Clear
For t = 2 To [b65536].End(3).Row Step 1
c = c + 2
Cells(c, 4) = Cells(t, 2)
Cells(c + 1, 4) = Cells(t, 2)
Next
Cells(2, 3) = Format((Cells(2, 1)), "hh:ss:mm")
Cells(2, 3) = Cells(2, 1)

For t = 2 To [d65536].End(3).Row - 1
Cells(t + 1, 3) = Format((Cells(t, 3) + TimeValue("00:00:01")), "hh:mm:ss")
Next
End Sub

ama cozumu daha da ileri goturerek b2 hucresini d2 ve d3 e cogaltmak yerine, b2 hucresini d2 ye, b2 ve b3 hucresinin ortalamasinida d3 e yazdirabilirmiyiz?

ornek:
b2= 20
b3=21
b4=22
...
bn

makro calistiginda;
d2=20 (b2 nin değeri)
d3=20,5 (b2+b3/2 nin degeri)
d4=21 (b3 un degeri)
d5=21,5 (b3+b4/2 nin degeri)
d6=22 (b4 un degeri)
...
dn-1= X ((bn-1)+bn/2 nin degeri)
dn= Y (bn in degeri)
seklinde...

cok tesekkur ederim.
 
Aşağıdaki şekilde dener misiniz?

Kod:
Sub COGALT2()
[c2:d500].Clear
For t = 2 To [b65536].End(3).Row
c = c + 2
Range(Cells(c, 3), Cells(c + 1, 3)) = Format(Cells(t, 1), "h:mm:ss")
Cells(c, 4) = Cells(t, 2)
Cells(c + 1, 4) = (Cells(t, 2) + Cells(t + 1, 2)) / 2

Next
End Sub
 
hamitcan iyi geceler,

d stunu calisiyor bir problem yok. sagol.
ama c sutununda saatleri cift goruntuluyor. yani 1 saniye artirmiyor.

ornek:

c2=10:38:02
c3=10:38:02
c4=10:38:04
c5=10:38:04
...
gibi oluyor. ama c3 un 10:38:03 olmasi gerekli. c5 inde 10:38:05

tesekkurler, iyi geceler.
 
Aşağıdaki şekilde deneyin.

Kod:
Sub SERDEN2()
[c2:d500].Clear
For t = 2 To [b65536].End(3).Row
c = c + 2
Cells(c, 3) = Format(Cells(t, 1), "h:mm:ss")
Cells(c + 1, 3) = Format((Cells(c, 3) + TimeValue("00:00:01")), "h:mm:ss")

Cells(c, 4) = Cells(t, 2)
Cells(c + 1, 4) = (Cells(t, 2) + Cells(t + 1, 2)) / 2

Next
End Sub
 
Son düzenleme:
merhaba hamitcan,

ekteki dosyayi inceleyebilirsin. ilk 7 satir dogru. ancak daha sonra hucreleri bos birakiyor. ben bunu 1800 veri icin yapacagim. oyuzden problem olacak.

neden olabilir?
 
9 nolu mesajımdaki kodu güncelledim.
 
hamitcan, yardimlarin icin cok tesekkur ederim. :)
iyi aksamlar.
 
Geri
Üst