hücrenin üzerine gelince değişen veri

Katılım
30 Ağustos 2013
Mesajlar
67
Excel Vers. ve Dili
office 2016 tr
Altın Üyelik Bitiş Tarihi
01.06.2022
Merhaba,
böyle bir şey mümkün mü bilmiyorum.
istediğim şey mouse ile hücrenin üzerine gelince ya da tıklayınca, o hücrenin verisini başka hücredeki bir veriyle değiştirmesi, daha sonra tekrar tıkladığımda ya da mouse'u çektiğimde eskiye dönmesi.
hatta bunu komple satır olarak yaparsa daha çok işime yarar. satırın üzerine gelince başka satırdaki verileri göstersin.

amacım şu,
bazı satış verileri var
10 15 2 35
gibi
hücrenin üzerine gelince bu verilerin yüzdesel olarak değerini göstermek istiyorum
12% 18% 5% 50%
gibi değişmeli.

açıklama olarak eklemek işime yaramıyor. böyle bir şey de mümkün mü bilmiyorum.
 

Ömer

Moderatör
Yönetici
Katılım
18 Ağustos 2007
Mesajlar
22,184
Excel Vers. ve Dili
Microsoft 365 Tr
Ofis 2016 Tr
Merhaba,

Örnek olarak hazırladım. Sayfanın kod bölümüne kopyalayın.

A2: D10 arasındaki hücrelere fare ile seçim yaptığınızda karşılığı olan F2:I10 arasındaki verileri bilgi olarak size gösterir. Veri doğrulama yöntemi ile yapılmıştır.

Kod:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    
    If Intersect(Target, [A2:D10]) Is Nothing Then Exit Sub

    If Target.Count > 1 Then Exit Sub
    With Selection.Validation
        .Delete
        .Add xlValidateInputOnly, xlValidAlertStop, xlBetween
        .InputMessage = Format(Target.Offset(0, 5), "0%")
    End With
    
End Sub
.
 
Katılım
30 Ağustos 2013
Mesajlar
67
Excel Vers. ve Dili
office 2016 tr
Altın Üyelik Bitiş Tarihi
01.06.2022
merhabalar,
elinize sağlık öncelikle. ama sizin yaptığınız da açıklama gibi bir kutucuk açarak veriyi gösteriyor.
benim bahsettiğim direkt hücre içindeki verinin değişmesi şeklinde
B2:H20 içeriği J2:p20 içeriğiyle değişmesi gibi
 

Ömer

Moderatör
Yönetici
Katılım
18 Ağustos 2007
Mesajlar
22,184
Excel Vers. ve Dili
Microsoft 365 Tr
Ofis 2016 Tr
Riskli bir durum.

Detaylı deneme yapmadım. Sayfanın kod bölümüne kopyalayın.

Kod:
Public deg1, deg2, deg3
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    
    If Not Intersect(Target, [B2:H20]) Is Nothing Then
        With Target
            If .Count > 1 Then Exit Sub
    
            If deg3 <> "" Then
                Range(deg3) = deg2
                Range(deg3).Offset(0, 8) = deg1
            End If
                
            deg1 = .Offset(0, 8)
            deg2 = .Value
            deg3 = .Address
    
            .Value = deg1
            .Offset(0, 8) = deg2
        End With
    Else
        If deg3 <> "" Then
            Range(deg3) = deg2
            Range(deg3).Offset(0, 8) = deg1
        End If
    End If
    
End Sub
.
 
Katılım
28 Aralık 2010
Mesajlar
74
Excel Vers. ve Dili
office 2007 türkçe
mehabalar buna benzer bir şey için bende yardım rica etsem ekte örneğini koyacağım dosyanın kumaş stok depo sayfasında -kalan kg-s-sütununda kalan kg verilsin ama üzerine geldiğimde icmal sayfasındaki-z-sütunundaki detayları göstersin istiyorum ama yapamadım
yada yine toplam görünebilir ama açıklama gibi üzerine gelince detayıda verebilir
yardımcı olursanız sevinirim
şimdiden teşekkürler

http://s5.dosya.tc/server5/xwa6rz/denemeler.xlsx.html
 

Ömer

Moderatör
Yönetici
Katılım
18 Ağustos 2007
Mesajlar
22,184
Excel Vers. ve Dili
Microsoft 365 Tr
Ofis 2016 Tr
Merhaba,

Detaydan kastınız nedir.
Örneğin S4 hücresine tıklayınca detay olarak ne yazması gerekiyor. Bu değerler icmal sayfasında hangi sütunlarda.
 
Katılım
28 Aralık 2010
Mesajlar
74
Excel Vers. ve Dili
office 2007 türkçe
icmaldeki z4 sutunun içeriğine ısa yol gibi ulaşmak istiyorum mümkünmü ?
 
Katılım
28 Aralık 2010
Mesajlar
74
Excel Vers. ve Dili
office 2007 türkçe
yani s4 deki toplam rakam aslında icmalde z4 sutunun toplamı bende toplam olsun ama aynı zamanda üstüne gelince z4 teki detayı bilgi mayetinde göstersin istedim
 

Ömer

Moderatör
Yönetici
Katılım
18 Ağustos 2007
Mesajlar
22,184
Excel Vers. ve Dili
Microsoft 365 Tr
Ofis 2016 Tr
"kumaş_stok_depo" sayfasının kod bölümüne kopyalayın.

S4:S26 aralığında hücrelere tıkladığınızda açıklama olarak icmal sayfası Z sütunundaki karşılığını gösterecektir.

Kod:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    
    If Intersect(Target, [S4:S26]) Is Nothing Then Exit Sub

    If Target.Count > 1 Then Exit Sub
    With Selection.Validation
        .Delete
        .Add xlValidateInputOnly, xlValidAlertStop, xlBetween
        .InputMessage = [COLOR="Red"]Sheets("icmal").Cells(Target.Row, "Z")[/COLOR]
    End With
    
End Sub
Eğer Z değilde AA olacaksa, kırmızı bölümün yerine aşağıdaki satırı yazın.

Kod:
Sheets("icmal").Cells(Target.Row, "AA").Formula
.
 
Katılım
28 Aralık 2010
Mesajlar
74
Excel Vers. ve Dili
office 2007 türkçe
If Intersect(Target, [S4:S26]) Is Nothing Then Exit Sub


hata verdi ve makroyu açtığımda bu kısım sarı renkliydi
yanlış yapmış olabilirmiyim makroda sorun yoktur sanırım değilmi ?
 
Katılım
28 Aralık 2010
Mesajlar
74
Excel Vers. ve Dili
office 2007 türkçe
çalıştır dediğimde 424 kodlu hatayı verdi
 

Ömer

Moderatör
Yönetici
Katılım
18 Ağustos 2007
Mesajlar
22,184
Excel Vers. ve Dili
Microsoft 365 Tr
Ofis 2016 Tr
Kodları ilgili sayfanın kod bölümüne eklemeniz gerekir.

İlgili sayfa adı üzerine sağ klik yapın / Kod görüntüle seçeneğini seçip açılan ekrana kodları yapıştırın. Başka bir bölüme eklediyseniz oradan kodları silin.

Kodları çalıştır demenize gerek yok. S4:S26 aralığındaki bir hücre fare ile seçildiğinde kodlar tetiklenir ve kendi çalışır.

.
 
Katılım
28 Aralık 2010
Mesajlar
74
Excel Vers. ve Dili
office 2007 türkçe
oldu tamamen oldu müthiş çoook teşekkür ederim ellerinize emeğinize sağlık :))
 
Katılım
28 Aralık 2010
Mesajlar
74
Excel Vers. ve Dili
office 2007 türkçe
ama sayfayı koruma parolasını aktif hale getirdiğimde
runtıme error 1004 diye hata veriyor neden kaynaklanabilir
 

Ömer

Moderatör
Yönetici
Katılım
18 Ağustos 2007
Mesajlar
22,184
Excel Vers. ve Dili
Microsoft 365 Tr
Ofis 2016 Tr
Kodları aşağıdakilerle değiştirin.
İlave olan; kodlar çalışmadan koruma kalkar, işlem bitince yine koruma devreye girer.

Kod:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    
    If Intersect(Target, [S4:S26]) Is Nothing Then Exit Sub
    
    [COLOR="Red"]ActiveSheet.Unprotect[/COLOR]

    If Target.Count > 1 Then Exit Sub
    With Selection.Validation
        .Delete
        .Add xlValidateInputOnly, xlValidAlertStop, xlBetween
        .InputMessage = Sheets("icmal").Cells(Target.Row, "Z")
    End With

    [COLOR="red"]ActiveSheet.Protect[/COLOR]
    
End Sub
Korumada şifreniz varsa; 123 olduğu düşünülerek, her iki kırmızı satırın sonuna aşağıdaki gibi şifre ekleyebilirsiniz.

ActiveSheet.Unprotect "123"

.
 
Katılım
28 Aralık 2010
Mesajlar
74
Excel Vers. ve Dili
office 2007 türkçe
yardımlarınız için çok teşekkür ederim gerçekten

müthiş oldu tam istediğim gibi ellerinize sağlık

:)
 
Üst