Döngüsel olarak başvurduğu hücreye yazma

serkan guvenc

Altın Üye
Katılım
21 Kasım 2013
Mesajlar
47
Excel Vers. ve Dili
2007
Altın Üyelik Bitiş Tarihi
16-11-2027
Ekteki dosyada e sütünundaki sayının %60' alıp kalanı başvurduğu hücreye yazdırmak istiyorum.
sadece başvurduğu hücreye yazsın istiyorum.Buna uygun formül varmıdır?Teşekkürler
 

Ekli dosyalar

hbgny

Altın Üye
Katılım
28 Eylül 2005
Mesajlar
177
Excel Vers. ve Dili
Microsoft Excel Office 2013 Türkçe
Altın Üyelik Bitiş Tarihi
05-09-2027
Merhaba, dosyanızın içi boş
 

YUSUF44

Destek Ekibi
Destek Ekibi
Katılım
4 Ocak 2006
Mesajlar
12,073
Excel Vers. ve Dili
İş : Ofis 365 - Türkçe
Ev: Ofis 365 - Türkçe
Dosyanız boş.
 

hbgny

Altın Üye
Katılım
28 Eylül 2005
Mesajlar
177
Excel Vers. ve Dili
Microsoft Excel Office 2013 Türkçe
Altın Üyelik Bitiş Tarihi
05-09-2027

AdemCan

Altın Üye
Destek Ekibi
Katılım
1 Eylül 2008
Mesajlar
1,386
Excel Vers. ve Dili
2019 TR
Makro örneği.
Sayfa1 in kod sayfasına ekleyip E sütununa değer yazınız.
Kod:
Public kontrol As Byte
Private Sub Worksheet_Change(ByVal Target As Range)
If kontrol = 1 Then Exit Sub
    If Selection.Count > 1 Then Exit Sub
    kontrol = 0
    If IsNumeric(Target) Then
        If Target.Column = 5 Then
            kontrol = 1
            With Target
                .Value = .Value * 0.6
            End With
            GoTo son
        End If
    Else
        MsgBox "Sayısal bir değer yazmadınız.", , ""
    End If
son:
kontrol = 0
End Sub
 

serkan guvenc

Altın Üye
Katılım
21 Kasım 2013
Mesajlar
47
Excel Vers. ve Dili
2007
Altın Üyelik Bitiş Tarihi
16-11-2027
sayfa 1 sütünunda d sutünuna aynı formülü çoğaltıp % 40ını hesaplatabilirmiyiz
 

AdemCan

Altın Üye
Destek Ekibi
Katılım
1 Eylül 2008
Mesajlar
1,386
Excel Vers. ve Dili
2019 TR
D sütunu için son: satırının üzerine ekleyiniz.
Kod:
If kontrol = 1 Then Exit Sub
    If Selection.Count > 1 Then Exit Sub
    kontrol = 0
    If IsNumeric(Target) Then
        If Target.Column = 4 Then
            kontrol = 1
            With Target
                .Value = .Value * 0.4
            End With
            GoTo son
        End If
    Else
        MsgBox "Sayısal bir değer yazmadınız.", , ""
    End If
 

YUSUF44

Destek Ekibi
Destek Ekibi
Katılım
4 Ocak 2006
Mesajlar
12,073
Excel Vers. ve Dili
İş : Ofis 365 - Türkçe
Ev: Ofis 365 - Türkçe
Makro örneği.
Sayfa1 in kod sayfasına ekleyip E sütununa değer yazınız.
Kod:
Public kontrol As Byte
Private Sub Worksheet_Change(ByVal Target As Range)
If kontrol = 1 Then Exit Sub
    If Selection.Count > 1 Then Exit Sub
    kontrol = 0
    If IsNumeric(Target) Then
        If Target.Column = 5 Then
            kontrol = 1
            With Target
                .Value = .Value * 0.6
            End With
            GoTo son
        End If
    Else
        MsgBox "Sayısal bir değer yazmadınız.", , ""
    End If
son:
kontrol = 0
End Sub
Adem hocam "kontrol" değişkenini sayfa olaylarını devre dışı bırakmak için kullanmışsınız galiba. Çok iyi bir çözüm, tebrik ederim. ApplicationEnableEvents=False yapıp hata anında sıkıntı yaşanması önlenmiş oluyor.
 

AdemCan

Altın Üye
Destek Ekibi
Katılım
1 Eylül 2008
Mesajlar
1,386
Excel Vers. ve Dili
2019 TR
Application.EnableEvents kullanmak aklıma gelmemişti @YUSUF44 Hocam teşekkür ederim bilgilendirme için. Kontrol satırları iptal edilmiştir. :)
Kod:
Private Sub Worksheet_Change(ByVal Target As Range)
Application.EnableEvents = False
    If Selection.Count > 1 Then Exit Sub
    If IsNumeric(Target) Then
        If Target.Column = 5 Then
            With Target
                .Value = .Value * 0.6
            End With
        End If
    Else
        MsgBox "Sayısal bir değer yazmadınız.", , ""
        GoTo son:
    End If

    If IsNumeric(Target) Then
        If Target.Column = 4 Then
            With Target
                .Value = .Value * 0.4
            End With
        End If
    Else
        MsgBox "Sayısal bir değer yazmadınız.", , ""
    End If
son:
Application.EnableEvents = True
End Sub
 

YUSUF44

Destek Ekibi
Destek Ekibi
Katılım
4 Ocak 2006
Mesajlar
12,073
Excel Vers. ve Dili
İş : Ofis 365 - Türkçe
Ev: Ofis 365 - Türkçe
Bence o hali daha iyiydi. Hata anında olayların pasif kalması riski yok en azından.
 

AdemCan

Altın Üye
Destek Ekibi
Katılım
1 Eylül 2008
Mesajlar
1,386
Excel Vers. ve Dili
2019 TR
Her iki durumda denemeler yaptım, sıkıntı çıkmadı, konu sahibi hangisini kullanmak isterse artık Hocam. :)
 
Üst