Makroda hata

Katılım
22 Temmuz 2008
Mesajlar
32
Excel Vers. ve Dili
2003 İngilizce
Ekteki dosyadaki makroda birinci çalışma sayfasındaki bilgilerden, üç ayrı grubun toplamını alıp, ikinci çalışma sayfasına yazdırmak istiyorum. Fakat hata alıyorum. Yardımlarınızı rica ederim.
 

Ekli dosyalar

Katılım
24 Mart 2008
Mesajlar
468
Excel Vers. ve Dili
2007TR - 2010TR
biraz daha açıklayıcı olurmusunuz hangi gurupları toplayacaksınız. anladığım kadarıyla

GM
GM_Toplam_Hacim
Şubeler
Şubeler_Toplam_Hacim
İnternet
İnternet_Toplam_Hacim

adındaki sütunlara toplam değer yazmak istiyorsunuz ?

bu başlıklar nelerdir nerelerle toplanacaktır?

iyi çalışmalar.
 
Katılım
22 Temmuz 2008
Mesajlar
32
Excel Vers. ve Dili
2003 İngilizce
makro hata

Öncelikle, hızlı cevabınız için teşekkürler. Makronun alt kısmında görüldüğü gibi GM_Toplam Hacim, Şubeler_Toplam Hacim, İnternet_Toplam Hacim tutarlarını sheet2'de yazdırmak istiyorum. Bunları hesaplatmak için de yukarıda formüller oluşturdum. Ama type mismatch error veriyor.
 

Ayhan Ercan

Özel Üye
Katılım
10 Ağustos 2005
Mesajlar
1,571
Excel Vers. ve Dili
Microsoft 365- Türkçe
Merhaba

Kodlarınızı aşağıdaki gibi revize ederek deneyiniz...

Kod:
Sub İşlem_Hacmi_Raporu()
Dim GM_Toplam_Hacim, Şubeler_Toplam_Hacim, İnternet_Toplam_Hacim As Double
GM_Toplam_Hacim = 0
Şubeler_Toplam_Hacim = 0
İnternet_Toplam_Hacim = 0
Dim GM_Kullanıcılar, Kullanıcı As String
Dim i As Integer
GM_Kullanıcılar = Array("Kadriye Aykut", "Cihan Aluç", "Aslı Zengin Sular", "Ayşe Ofluoğlu", "Mehmet Bakır", "Umay Budak", "Tuba Şireci", "Hülya Adak")
For i = 2 To 5000
    If Cells(i, 7) <> 0# Then
    Kullanıcı = Cells(i, 23)
    Select Case Kullanıcı
    Case GM_Kullanıcılar(0)
    If Cells(i, 7) > 3# Then
    GM_Toplam_Hacim = GM_Toplam_Hacim + (Val(Cells(i, 7)) * 100 * Val(Cells(i, 9)))
    Else
    GM_Toplam_Hacim = GM_Toplam_Hacim + (Val(Cells(i, 7)) * 1000 * Val(Cells(i, 9)))
    End If
    Case GM_Kullanıcılar(1)
    If Cells(i, 7) > 3# Then
    GM_Toplam_Hacim = GM_Toplam_Hacim + (Val(Cells(i, 7)) * 100 * Val(Cells(i, 9)))
    Else
    GM_Toplam_Hacim = GM_Toplam_Hacim + (Val(Cells(i, 7)) * 1000 * Val(Cells(i, 9)))
    End If
    Case GM_Kullanıcılar(2)
    If Cells(i, 7) > 3# Then
    GM_Toplam_Hacim = GM_Toplam_Hacim + (Val(Cells(i, 7)) * 100 * Val(Cells(i, 9)))
    Else
    GM_Toplam_Hacim = GM_Toplam_Hacim + (Val(Cells(i, 7)) * 1000 * Val(Cells(i, 9)))
    End If
    Case GM_Kullanıcılar(3)
    If Cells(i, 7) > 3# Then
    GM_Toplam_Hacim = GM_Toplam_Hacim + (Val(Cells(i, 7)) * 100 * Val(Cells(i, 9)))
    Else
    GM_Toplam_Hacim = GM_Toplam_Hacim + (Val(Cells(i, 7)) * 1000 * Val(Cells(i, 9)))
    End If
    Case GM_Kullanıcılar(4)
    If Cells(i, 7) > 3# Then
    GM_Toplam_Hacim = GM_Toplam_Hacim + (Val(Cells(i, 7)) * 100 * Val(Cells(i, 9)))
    Else
    GM_Toplam_Hacim = GM_Toplam_Hacim + (Val(Cells(i, 7)) * 1000 * Val(Cells(i, 9)))
    End If
    Case GM_Kullanıcılar(5)
    If Cells(i, 7) > 3# Then
    GM_Toplam_Hacim = GM_Toplam_Hacim + (Val(Cells(i, 7)) * 100 * Val(Cells(i, 9)))
    Else
    GM_Toplam_Hacim = GM_Toplam_Hacim + (Val(Cells(i, 7)) * 1000 * Val(Cells(i, 9)))
    End If
    Case GM_Kullanıcılar(6)
    If Cells(i, 7) > 3# Then
    GM_Toplam_Hacim = GM_Toplam_Hacim + (Val(Cells(i, 7)) * 100 * Val(Cells(i, 9)))
    Else
    GM_Toplam_Hacim = GM_Toplam_Hacim + (Val(Cells(i, 7)) * 1000 * Val(Cells(i, 9)))
    End If
    Case GM_Kullanıcılar(7)
    If Cells(i, 7) > 3# Then
    GM_Toplam_Hacim = GM_Toplam_Hacim + (Val(Cells(i, 7)) * 100 * Val(Cells(i, 9)))
    Else
    GM_Toplam_Hacim = GM_Toplam_Hacim + (Val(Cells(i, 7)) * 1000 * Val(Cells(i, 9)))
    End If
    Case "GTP Administrator"
    If Cells(i, 7) > 3# Then
    İnternet_Toplam_Hacim = İnternet_Toplam_Hacim + (Val(Cells(i, 7)) * 100 * Val(Cells(i, 9)))
    Else
    İnternet_Toplam_Hacim = İnternet_Toplam_Hacim + (Val(Cells(i, 7)) * 1000 * Val(Cells(i, 9)))
    End If
    Case Else
    If Cells(i, 7) > 3# Then
    Şubeler_Toplam_Hacim = Şubeler_Toplam_Hacim + (Val(Cells(i, 7)) * 100 * Val(Cells(i, 9)))
    Else
    Şubeler_Toplam_Hacim = Şubeler_Toplam_Hacim + (Val(Cells(i, 7)) * 1000 * Val(Cells(i, 9)))
    End If
    
    End Select
    End If
    Next i
    Worksheets("Sheet2").Activate
 
    Sheets("Sheet2").Cells(1, 1) = "GM "
    Sheets("Sheet2").Cells(2, 1) = GM_Toplam_Hacim
    Sheets("Sheet2").Cells(1, 2) = "Şubeler"
    Sheets("Sheet2").Cells(2, 2) = Şubeler_Toplam_Hacim
    Sheets("Sheet2").Cells(1, 3) = "İnternet "
    Sheets("Sheet2").Cells(2, 3) = İnternet_Toplam_Hacim
       
    End Sub
 
Katılım
24 Mart 2008
Mesajlar
468
Excel Vers. ve Dili
2007TR - 2010TR
Ayhan hocam eline sağlık ama ben bu makrodan bişi anlamadım desem.

Banada anlatsana yaptığını :)
 
Katılım
22 Temmuz 2008
Mesajlar
32
Excel Vers. ve Dili
2003 İngilizce
teşekkür

sayın Ayhan Ercan ve ReBiwAr, ilginiz için çok teşekkür ederim.
 

Ayhan Ercan

Özel Üye
Katılım
10 Ağustos 2005
Mesajlar
1,571
Excel Vers. ve Dili
Microsoft 365- Türkçe
sayın Ayhan Ercan ve ReBiwAr, ilginiz için çok teşekkür ederim.
Rica ederim.
İyi çalışmalar.... :eek:k::

Ayhan hocam eline sağlık ama ben bu makrodan bişi anlamadım desem.

Banada anlatsana yaptığını :)
Aslında kodu kontrol etmek kodu yazmaktan daha zor (bana göre)

Kodu çalıştırıp hatanın nerden kaynaklandığını öğrenmek istedim. Sonrada hatalı satırı kontrol ettim.

Kod düzeni olan bir çalışma olduğu için hatayı bulmak pek zor olmadı. Hata bulununca da kodu düzeltmek kaldı, okadar.... :eek:k::
 
Üst