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,759
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,759
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,759
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,759
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,759
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...
 
Üst