• DİKKAT

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

Formüldeki Ay Adını ComboBox1 ile ilişkilendirmek.

Katılım
12 Ocak 2009
Mesajlar
838
Excel Vers. ve Dili
2003
Merhaba arkadaşlar.
Aşağıdaki kod ile çalışma belgesindeki ay adları ile eşleşen sayfa isimlerini ComboBox1'e yüklüyorum.

Kod:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
ComboBox1.Clear
For i = 2 To 13
ComboBox1.AddItem Sheets(i).Name
Next i
End Sub
ComboBox1_Change olayı ilede sayfada istediğim hücrelere formüller yazdırıyorum.

Kod:
Private Sub ComboBox1_Change()
[A4:AG39].Value = ClearContents
[A1].Value = "=CONCATENATE(PERSONEL!RC[4],""  "",TEXT(OCAK!R[1]C[1],""AAAA YYYY ""),""İCAP MESAİ BİLDİRİM ÇİZELGESİ"")"
[A4:A39].Value = "=IF(OCAK!RC[10]="""","""",OCAK!RC[11])"
[B4:B39].Value = "=IF(RC[-1]="""","""",VLOOKUP(RC[-1],PERSONEL!R[-2]C[-1]:PERSONEL!R[15]C,2,0))"
[C4:AG39].Value = "=IF(RC1="""","""",IF(SUMPRODUCT(--(OCAK!R4C3:R34C9=RC1)*(OCAK!R3C3:R3C9=""icap"")*(OCAK!R4C1:R34C1=R3C))=0,"""",24))"
[C3].Value = "=OCAK!R2C2"
[D3:AG3].Value = "=OCAK!R2C2+COLUMN(R[-2]C[-3])"
[AH4:AH39].Value = "=SUM(RC[-31]:RC[-1])"
End Sub
Yapamadığım ve sizlerden talebim ise;
Yukarıdaki formüllerdeki Ay adını (OCAK) ComboBox1 de görüntülenen ay adı ile ilişkilendirmek. Yani ComboBox1 deki ay adı ŞUBAT ise formüllerdeki ay adı da ŞUBAT olsun.
 

Ekli dosyalar

Şöyle bir deneyin isterseniz.
Ben 1 satıra yaptım.Siz diğerlerini yapın.:cool:
ancak kodu change olayına değilde exit olayına yada click olayına yazın.:cool:
Ayrıca zaten exit olayı yada click olayı sizin kullanımınıza daha uygun.
Kod:
[C3].Value = "=" & combobox1.value & "!R2C2"
 
Selamlar,

Aşağıdaki şekilde denermisiniz.

Kod:
Private Sub ComboBox1_Change()
    If ComboBox1 <> "" Then
        [A1].Value = "=CONCATENATE(PERSONEL!RC[4],""  "",TEXT(" & ComboBox1 & "!R[1]C[1],""AAAA YYYY ""),""FAZLA MESAİ BİLDİRİM ÇİZELGESİ"")"
        [A4:A39].Value = "=IF(" & ComboBox1 & "!RC[10]="""",""""," & ComboBox1 & "!RC[11])"
        [B4:B39].Value = "=IF(RC[-1]="""","""",VLOOKUP(RC[-1],PERSONEL!R[-2]C[-1]:PERSONEL!R[15]C,2,0))"
        [C3].Value = "=" & ComboBox1 & "!R2C2"
        [D3:AG3].Value = "=" & ComboBox1 & "!R2C2+COLUMN(R[-2]C[-3])"
        [AH4:AH39].Value = "=SUM(RC[-31]:RC[-1])"
    End If
End Sub
 
Selamlar,

Aşağıdaki şekilde denermisiniz.

Kod:
Private Sub ComboBox1_Change()
    If ComboBox1 <> "" Then
        [A1].Value = "=CONCATENATE(PERSONEL!RC[4],""  "",TEXT(" & ComboBox1 & "!R[1]C[1],""AAAA YYYY ""),""FAZLA MESAİ BİLDİRİM ÇİZELGESİ"")"
        [A4:A39].Value = "=IF(" & ComboBox1 & "!RC[10]="""",""""," & ComboBox1 & "!RC[11])"
        [B4:B39].Value = "=IF(RC[-1]="""","""",VLOOKUP(RC[-1],PERSONEL!R[-2]C[-1]:PERSONEL!R[15]C,2,0))"
        [C3].Value = "=" & ComboBox1 & "!R2C2"
        [D3:AG3].Value = "=" & ComboBox1 & "!R2C2+COLUMN(R[-2]C[-3])"
        [AH4:AH39].Value = "=SUM(RC[-31]:RC[-1])"
    End If
End Sub

Evren hocam Korhan hocam her ikinizede teşekkür ederim.
Projede projeyi tamamlamak için tek eksiğim Fazla Mesai sayfasındaki aşağıdaki formülü R[1]C[1] şeklinde formüle etmeyi başaramadım. Diğer formülleri Makro kaydet yöntemi yaptım, ancak bu formülde "kaydedilemiyor" mesajını alıyorum.
Kod:
=EĞER($A4="";"";EĞER(TOPLA.ÇARPIM(--(OCAK!$C$4:$I$34=$A4)*(OCAK!$C$3:$I$3="nöbet")*(OCAK!$A$4:$A$34=C$3))=0;"";EĞER(TOPLA.ÇARPIM(--(OCAK!$C$4:$I$34=$A4)*(OCAK!$C$3:$I$3="nöbet")*(OCAK!$A$4:$A$34<=C$3))=7;8;EĞER(TOPLA.ÇARPIM(--(OCAK!$C$4:$I$34=$A4)*(OCAK!$C$3:$I$3="nöbet")*(OCAK!$A$4:$A$34<=C$3))>7;24;""))))
 

Ekli dosyalar

Merhaba arkadaşlar.
Konuyu güncellemek ve alternatif olması açısından farklı bir yöntemle sorunun çözülebileceğini düşündüm.

Fazla Mesai sayfasının B1 hücresinde veri doğrulama ile ay adlarının gösterildiğini farz edersek aşağıdaki formülde bulunan ay adını B1 hücresşndeki ay adı ile nasıl eşleştiririz.ComboBox1 yerine veri doğrulama ile açılan hücre olduğunu düşünün.
Kod:
=OCAK!$B$2
 
Geri
Üst