- Katılım
- 1 Mart 2016
- Mesajlar
- 25
- Excel Vers. ve Dili
- 2003
Tüm forumdaşlara merhabalar. Excel'e internetten "Power Quary" eklentisi yardımı ile 5 dakika aralıklarla çektiğim bir miktar veri var. Bu veriyi farklı excel sayfalarına yine 5 dakika ara ile dağıtmak istiyorum. Kodu manuel olarak çalıştırdığımda hiçbir sorun ile karşılaşmazken, belirli zaman aralıkları ile çalıştırmaya çalışınca "Makro bu çalışma kitabında olmayabilir ya da Makrolar devre dışı" uyarısı alıyorum. Güvenlik ayarlarından "Tüm makroları etkinleştir" dememe rağmen sorun devam ediyor. Sorunun çözümü için yardımcı olabilecek kimse var mıdır acaba?
Kod aşağıdaki gibidir, saygılar.
Kod aşağıdaki gibidir, saygılar.
Kod:
Sub Auto_Open()
Application.OnTime Now + TimeValue("00:05:00"), "Dene"
End Sub
Sub Dene()
Dim HM(98, 3)
c = 1
Do While Sayfa3.Cells(c, 1) <> ""
c = c + 1
Loop
CSayisi = c - 2
Sayfa3.Select
Sayfa3.Range("C1:BCL200").Cut
Sayfa3.Cells(1, 4).Select
ActiveSheet.Paste
Sayfa3.Range("BCM1: BCM200").ClearContents
Sayfa3.Cells(1, 3) = Format(Now, "h:mm") ' Saati yazar
Sayfa4.Select
Sayfa4.Range("C1:BCL200").Cut
Sayfa4.Cells(1, 4).Select
ActiveSheet.Paste
Sayfa4.Range("BCM1: BCM200").ClearContents
Sayfa4.Cells(1, 3) = Format(Now, "h:mm") ' Saati yazar
k = 2
m = 2
Do While Sayfa3.Cells(k, 1) <> ""
CName = Sayfa3.Cells(k, 1)
m = 2
Do
If Sayfa2.Cells(m, 1) = CName Then
Sayfa3.Cells(k, 3) = Sayfa2.Cells(m, 6)
Sayfa3.Cells(k, 2) = Sayfa2.Cells(m, 3)
Sayfa4.Cells(k, 3) = Sayfa2.Cells(m, 5)
Sayfa4.Cells(k, 2) = Sayfa2.Cells(m, 3)
End If
If Sayfa2.Cells(m, 1) = "" Then
MsgBox Sayfa3.Cells(k, 1).Value & "Bulunamadı": GoTo 1
End If
m = m + 1
Loop Until Sayfa2.Cells(m - 1, 1) = CName
k = k + 1
Loop
1:
'5 dakika
e = 2
Do While Sayfa4.Cells(e, 1) <> ""
'If Sayfa4.Cells(e, 4) = 0 Then GoTo 1
'If Sayfa4.Cells(e, 4) = "" Then GoTo 1
Sayfa6.Cells(e, 3) = (((Sayfa4.Cells(e, 3) - Sayfa4.Cells(e, 4)) * 100)) / Sayfa4.Cells(e, 4)
Sayfa6.Cells(e, 4) = (((Sayfa3.Cells(e, 3) - Sayfa3.Cells(e, 4)) * 100)) / Sayfa3.Cells(e, 4)
Sayfa7.Cells(e, 3) = (((Sayfa4.Cells(e, 3) - Sayfa4.Cells(e, 5)) * 100)) / Sayfa4.Cells(e, 5)
Sayfa7.Cells(e, 4) = (((Sayfa3.Cells(e, 3) - Sayfa3.Cells(e, 5)) * 100)) / Sayfa3.Cells(e, 5)
'15 Dakika
Sayfa8.Cells(e, 3) = (((Sayfa4.Cells(e, 3) - Sayfa4.Cells(e, 6)) * 100)) / Sayfa4.Cells(e, 6)
Sayfa8.Cells(e, 4) = (((Sayfa3.Cells(e, 3) - Sayfa3.Cells(e, 6)) * 100)) / Sayfa3.Cells(e, 6)
Sayfa9.Cells(e, 3) = (((Sayfa4.Cells(e, 3) - Sayfa4.Cells(e, 7)) * 100)) / Sayfa4.Cells(e, 7)
Sayfa9.Cells(e, 4) = (((Sayfa3.Cells(e, 3) - Sayfa3.Cells(e, 7)) * 100)) / Sayfa3.Cells(e, 7)
Sayfa10.Cells(e, 3) = (((Sayfa4.Cells(e, 3) - Sayfa4.Cells(e, 9)) * 100)) / Sayfa4.Cells(e, 9)
Sayfa10.Cells(e, 4) = (((Sayfa3.Cells(e, 3) - Sayfa3.Cells(e, 9)) * 100)) / Sayfa3.Cells(e, 9)
Sayfa11.Cells(e, 3) = (((Sayfa4.Cells(e, 3) - Sayfa4.Cells(e, 12)) * 100)) / Sayfa4.Cells(e, 12)
Sayfa11.Cells(e, 4) = (((Sayfa3.Cells(e, 3) - Sayfa3.Cells(e, 12)) * 100)) / Sayfa3.Cells(e, 12)
Sayfa12.Cells(e, 3) = (((Sayfa4.Cells(e, 3) - Sayfa4.Cells(e, 15)) * 100)) / Sayfa4.Cells(e, 15)
Sayfa12.Cells(e, 4) = (((Sayfa3.Cells(e, 3) - Sayfa3.Cells(e, 15)) * 100)) / Sayfa3.Cells(e, 15)
Sayfa13.Cells(e, 3) = (((Sayfa4.Cells(e, 3) - Sayfa4.Cells(e, 27)) * 100)) / Sayfa4.Cells(e, 27)
Sayfa13.Cells(e, 4) = (((Sayfa3.Cells(e, 3) - Sayfa3.Cells(e, 27)) * 100)) / Sayfa3.Cells(e, 27)
Sayfa14.Cells(e, 3) = (((Sayfa4.Cells(e, 3) - Sayfa4.Cells(e, 39)) * 100)) / Sayfa4.Cells(e, 39)
Sayfa14.Cells(e, 4) = (((Sayfa3.Cells(e, 3) - Sayfa3.Cells(e, 39)) * 100)) / Sayfa3.Cells(e, 39)
e = e + 1
Loop
For m = 6 To 14
'Dim HM(98, 3)
For k = 1 To CSayisi
Set s = Sheets(m)
HM(k, 1) = s.Cells(k + 1, 1)
HM(k, 2) = s.Cells(k + 1, 2)
HM(k, 3) = s.Cells(k + 1, 3)
Next k
For i = 1 To 5
For j = i To CSayisi - 1
If HM(i, 3) < HM(j + 1, 3) Then
HM(98, 1) = HM(i, 1): HM(98, 2) = HM(i, 2): HM(98, 3) = HM(i, 3)
HM(i, 1) = HM(j + 1, 1): HM(j + 1, 1) = HM(98, 1)
HM(i, 2) = HM(j + 1, 2): HM(j + 1, 2) = HM(98, 2)
HM(i, 3) = HM(j + 1, 3): HM(j + 1, 3) = HM(98, 3)
End If
Next j
Next i
For i = 1 To 5
For j = 1 To 3
Cells(m - 3, (i * 3) + j - 1) = HM(i, j)
Next j
Next i
Next m
c = 1
Do While Sayfa3.Cells(c, 1) <> ""
c = c + 1
Loop
CSayisi = c - 2
For m = 6 To 14
'Dim HM(98, 3)
For k = 1 To CSayisi
Set s = Sheets(m)
HM(k, 1) = s.Cells(k + 1, 1)
HM(k, 2) = s.Cells(k + 1, 2)
HM(k, 3) = s.Cells(k + 1, 3)
Next k
For i = 1 To 5
For j = i To CSayisi - 1
If HM(i, 3) > HM(j + 1, 3) Then
HM(98, 1) = HM(i, 1): HM(98, 2) = HM(i, 2): HM(98, 3) = HM(i, 3)
HM(i, 1) = HM(j + 1, 1): HM(j + 1, 1) = HM(98, 1)
HM(i, 2) = HM(j + 1, 2): HM(j + 1, 2) = HM(98, 2)
HM(i, 3) = HM(j + 1, 3): HM(j + 1, 3) = HM(98, 3)
End If
Next j
Next i
For i = 1 To 5
For j = 1 To 3
Cells(m + 6, (i * 3) + j - 1) = HM(i, j)
Next j
Next i
Next m
Call Auto_Open
End Sub