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.
 

hamitcan

Uzman
Uzman
Katılım
1 Temmuz 2004
Mesajlar
7,731
Excel Vers. ve Dili
Excel 2019 Türkçe
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
 
Katılım
17 Şubat 2006
Mesajlar
117
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.
 

hamitcan

Uzman
Uzman
Katılım
1 Temmuz 2004
Mesajlar
7,731
Excel Vers. ve Dili
Excel 2019 Türkçe
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
 
Katılım
17 Şubat 2006
Mesajlar
117
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.
 

hamitcan

Uzman
Uzman
Katılım
1 Temmuz 2004
Mesajlar
7,731
Excel Vers. ve Dili
Excel 2019 Türkçe
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
 
Katılım
17 Şubat 2006
Mesajlar
117
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.
 

hamitcan

Uzman
Uzman
Katılım
1 Temmuz 2004
Mesajlar
7,731
Excel Vers. ve Dili
Excel 2019 Türkçe
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:
Katılım
17 Şubat 2006
Mesajlar
117
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?
 

hamitcan

Uzman
Uzman
Katılım
1 Temmuz 2004
Mesajlar
7,731
Excel Vers. ve Dili
Excel 2019 Türkçe
9 nolu mesajımdaki kodu güncelledim.
 
Katılım
15 Ocak 2007
Mesajlar
791
Excel Vers. ve Dili
2003 excel visual basic
sorun yok

sorunumu çözdüm teşekkür ederim ii akşamlar...
 
Katılım
17 Şubat 2006
Mesajlar
117
hamitcan, yardimlarin icin cok tesekkur ederim. :)
iyi aksamlar.
 
Üst