Sayfalar VBA kısmında 2 tane gözüküyor

Katılım
22 Ekim 2011
Mesajlar
261
Excel Vers. ve Dili
2013
Altın Üyelik Bitiş Tarihi
30/05/2022
Merhabalar;
Kullanmış olduğumuz sayfalar VBA kısmında 2 şer tane gözüküyor. Fazlalıklarını nasıl silebiliriz.

 

Ekli dosyalar

Merhum İdris SERDAR

Moderatör
Yönetici
Katılım
21 Ekim 2005
Mesajlar
17,094
Excel Vers. ve Dili
Excel, 365 - İngilizce
.

Büyük bir olasılıkla dosya bozulmuştur.

Aşağıdakileri deneyin.

1.Boş bir Excel çalışma kitabını açın.

2. Geliştirici sekmesi> Makro güvenliği> Bildirim olmadan tüm makroları devre dışı bırak ve Excel'i kapatın.

3. Bozuk dosyayı çift tıklatın, örneğin,
Kod:
Dosyanız.xlsm
4.Dosya> Farklı kaydet ...>
Kod:
Dosyanız.xlsb
(.xlsm değil) .xlsb biçimini seçerek kaydedin.

5. Geliştirici sekmesi> Makro güvenliği> Tüm makroları etkinleştir (veya istediğiniz düzeyde güvenlik)

6. Excel'i kapatın

7.
Kod:
Dosyanız.xlsb
'yi çift tıklatın.

Dosya düzelmiş olmalıdır.

İsterseniz,
Kod:
Dosyanız.xlsb
dosyasını .xlsm olarak yeniden kaydedebilirsiniz.



.
 
Katılım
22 Ekim 2011
Mesajlar
261
Excel Vers. ve Dili
2013
Altın Üyelik Bitiş Tarihi
30/05/2022
İdris SERDAR bey,
Teşekkür ederim. Dosya düzeldi anacak içerisindeki makro kodları silindi.

Tekrardan makrolar ekleyince ekteki hata ile karşılaşıyorum ve yine dosya eski halini alıyor.
 

Ekli dosyalar

Katılım
22 Ekim 2011
Mesajlar
261
Excel Vers. ve Dili
2013
Altın Üyelik Bitiş Tarihi
30/05/2022
Bu kodda hata veriyor
Function AGind(medenihali, cocuklar)
Dim deger1, deger2, deger3, son, cocuklar As Integer
Dim medenihali As String
deger1 = 50 'kendisi
deger2 = 10 'eşi
deger3 = 0 'çocuklar

son = 5
If cocuklar > son Then cocuklar = son

ReDim veri(son)
veri(1) = 7.5
veri(2) = 7.5
veri(3) = 10
veri(4) = 5
veri(5) = 5

If medenihali = "Bekar" Then
AGind = deger1
End If

If medenihali = "EşÇalışıyor" Then
For i = 1 To Val(cocuklar)
deger3 = deger3 + veri(i)
Next
AGind = deger1 + deger3
End If

If medenihali = "EşÇalışmıyor" Then
deger2 = 10
For i = 1 To Val(cocuklar)
deger3 = deger3 + veri(i)
Next
AGind = deger1 + deger2 + deger3
If deger1 + deger2 + deger3 > 85 Then AGind = 85
End If

End Function
 

Merhum İdris SERDAR

Moderatör
Yönetici
Katılım
21 Ekim 2005
Mesajlar
17,094
Excel Vers. ve Dili
Excel, 365 - İngilizce
.

Aşağıdaki kodu deneyin.

Kod:
Function AGind(medenihali As String, cocuklar As Integer)
Dim deger1 As Integer
Dim deger2 As Integer
Dim deger3 As Integer
Dim Son As Integer

deger1 = 50 'kendisi
deger2 = 10 'eşi
deger3 = 0 'çocuklar

Son = 5
If cocuklar > Son Then cocuklar = Son

ReDim veri(Son)
veri(1) = 7.5
veri(2) = 7.5
veri(3) = 10
veri(4) = 5
veri(5) = 5

If medenihali = "Bekar" Then
AGind = deger1
End If

If medenihali = "EşÇalışıyor" Then
For i = 1 To Val(cocuklar)
deger3 = deger3 + veri(i)
Next
AGind = deger1 + deger3
End If

If medenihali = "EşÇalışmıyor" Then
deger2 = 10
For i = 1 To Val(cocuklar)
deger3 = deger3 + veri(i)
Next
AGind = deger1 + deger2 + deger3
If deger1 + deger2 + deger3 > 85 Then AGind = 85
End If

End Function

.
 
Üst