Excel Forum
ALTIN ÜYELİK Hakkında Bilgi


Geri Git   Excel Forum > EXCEL-Soruları > Diğer Excel Soruları
Atatürk
Şifremi Unuttum

DUYURU SİSTEMİ / REKLAM PANOSU

Diğer Excel Soruları Yukarıdaki başlıklara uymayan Excel sorularınızı bu bölüme gönderebilirsiniz.
Dosya ekleyebilirsiniz

Özel Arama


Yanıtla
 
Paylaş Konu Araçları Görünüm Modları
Eski 03-01-2018, 08:11   #1
HEROGERONIMO
Altın Üye
 
Giriş: 07/12/2011
Mesaj: 15
Excel Vers. ve Dili:
2013-TÜRKÇE
Varsayılan excelde elle girilen bir değeri başka bir hücre değerine göre değiştirme

merhaba arkadaşlar
çok araştırdım ama bir sonuca ulaşamadım.yapmak istediğim olay şöyle;
excel de bir hücreye elle girdiğim bir sayıyı başka bir hücrede bulunan bir sayıyı değiştirmek suretiyle ayarlamak.
diyelim ki a1 hücresine bir rakam girdim. b1 hücresinde bulunan başka bir rakamı büyütüp küçülterek a1 hücresindeki rakamın büyüyüp küçülmesini sağlamak istiyorum.
aslında a1 hücresindeki değeri elle girmek yerine başka bir yerden formülle alsaydım o zaman işim kolaydı.
ancak a1 hücresindeki değeri elle girme zorunluluğum var.
excel formülleriyle yada makro ile bu olayın bir çözümü varmı?
çok acil yardım bekliyorum.

Bu mesaj en son " 05-01-2018 " tarihinde saat 14:15 itibariyle HEROGERONIMO tarafından düzenlenmiştir.... Neden: başlık hatası
HEROGERONIMO Çevrimdışı   Alıntı Yaparak Cevapla
Eski 03-01-2018, 15:18   #2
asri
Altın Üye
 
Giriş: 24/04/2005
Şehir: Istanbul
Mesaj: 2,544
Excel Vers. ve Dili:
Office 2016 TR 64 Bit
Varsayılan

Alıntı:
HEROGERONIMO tarafından gönderildi Mesajı Görüntüle
.. a1 hücresindeki rakamın büyüyüp küçülmesini sağlamak istiyorum...
A1 hücresindeki rakam hangi koşula yada kurala göre büyüyüp küçülecek?

B1 e girdiğiniz rakam onu nasıl etkilemesi gerekiyor?

Sayfanın kod bölümüne yapıştırın.
B1 her değer girdiğinizde kırmızı olan kod A1 ile B1 i çarpar sonucu A1 yazar
Kod: (Rahat kopyalayabilmeniz için tüm kodu seçmenizi sağlar)
Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Cells.Count > 1 Then Exit Sub
    If Target.Value = "" Then Exit Sub
    If Intersect(Target, Range("B1:B1")) Is Nothing Then Exit Sub
       veri = Target.Value
       Range("A1").Value = veri * Range("A1").Value
       
End Sub
__________________
www.asriakdeniz.com
asri Çevrimdışı   Alıntı Yaparak Cevapla
Eski 03-01-2018, 16:25   #3
HEROGERONIMO
Altın Üye
 
Giriş: 07/12/2011
Mesaj: 15
Excel Vers. ve Dili:
2013-TÜRKÇE
Varsayılan

Alıntı:
asri tarafından gönderildi Mesajı Görüntüle
A1 hücresindeki rakam hangi koşula yada kurala göre büyüyüp küçülecek?

B1 e girdiğiniz rakam onu nasıl etkilemesi gerekiyor?

Sayfanın kod bölümüne yapıştırın.
B1 her değer girdiğinizde kırmızı olan kod A1 ile B1 i çarpar sonucu A1 yazar
Kod: (Rahat kopyalayabilmeniz için tüm kodu seçmenizi sağlar)
Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Cells.Count > 1 Then Exit Sub
    If Target.Value = "" Then Exit Sub
    If Intersect(Target, Range("B1:B1")) Is Nothing Then Exit Sub
       veri = Target.Value
       Range("A1").Value = veri * Range("A1").Value
       
End Sub

Değerli "asri" öncelikle cevabın için çok teşekkür ederim.benim istediğime yakın bir çözüm olmuş. bir örnek dosya gönderdim. excel de formülle yaptım. ancak örnekte b sütunundaki değerleri elle girme zorunluluğum var. bu yüzden örnekte d sütunundaki değerler b sütununu nasıl etkiliyorsa makro da öyle yazılmalı.
Eklenmiş Dosyalar
Dosya Türü: xlsx örnek.xlsx (9.1 KB, 4 Görüntülenme)
HEROGERONIMO Çevrimdışı   Alıntı Yaparak Cevapla
Eski 03-01-2018, 18:55   #4
asri
Altın Üye
 
Giriş: 24/04/2005
Şehir: Istanbul
Mesaj: 2,544
Excel Vers. ve Dili:
Office 2016 TR 64 Bit
Varsayılan

Alıntı:
HEROGERONIMO tarafından gönderildi Mesajı Görüntüle
Değerli "asri" öncelikle cevabın için çok teşekkür ederim.benim istediğime yakın bir çözüm olmuş. bir örnek dosya gönderdim. excel de formülle yaptım. ancak örnekte b sütunundaki değerleri elle girme zorunluluğum var. bu yüzden örnekte d sütunundaki değerler b sütununu nasıl etkiliyorsa makro da öyle yazılmalı.
Bu şekilde deneyin.
D kolonun her hücre değeri değiştiğinde B etkilenir

Kod: (Rahat kopyalayabilmeniz için tüm kodu seçmenizi sağlar)
Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Cells.Count > 1 Then Exit Sub
    If Target.Value = "" Then Exit Sub
    If Intersect(Target, Range("D2:D10000")) Is Nothing Then Exit Sub
       satir = Target.Row
       '=EĞER(Sayfa2!A2="";"";Sayfa2!A2*Sayfa1!A2)*D2
       If Sheets("Sayfa2").Cells(satir, "A").Value <> "" Then
          Cells(satir, "B").Value = (Sheets("Sayfa2").Cells(satir, "A").Value * Cells(satir, "A").Value) * Cells(satir, "D").Value
       Else
          Cells(satir, "B").Value = 0
       End If
End Sub
__________________
www.asriakdeniz.com
asri Çevrimdışı   Alıntı Yaparak Cevapla
Eski 04-01-2018, 15:26   #5
HEROGERONIMO
Altın Üye
 
Giriş: 07/12/2011
Mesaj: 15
Excel Vers. ve Dili:
2013-TÜRKÇE
Varsayılan

Alıntı:
asri tarafından gönderildi Mesajı Görüntüle
Bu şekilde deneyin.
D kolonun her hücre değeri değiştiğinde B etkilenir

Kod: (Rahat kopyalayabilmeniz için tüm kodu seçmenizi sağlar)
Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Cells.Count > 1 Then Exit Sub
    If Target.Value = "" Then Exit Sub
    If Intersect(Target, Range("D2:D10000")) Is Nothing Then Exit Sub
       satir = Target.Row
       '=EĞER(Sayfa2!A2="";"";Sayfa2!A2*Sayfa1!A2)*D2
       If Sheets("Sayfa2").Cells(satir, "A").Value <> "" Then
          Cells(satir, "B").Value = (Sheets("Sayfa2").Cells(satir, "A").Value * Cells(satir, "A").Value) * Cells(satir, "D").Value
       Else
          Cells(satir, "B").Value = 0
       End If
End Sub
sizin yazdığınız bu makro çalıştı.teşekkür ederim.ancak b sütunundaki değerleri elle girmeliyim. başka bir hücreye bağlı olmamalı.yani benim gönderdiğim örnekte b sütunundaki hücreler sayfa2 den değer alıyordu.ben bunu istemiyorum. b sütununa değeri elle girmeliyim. belki siz doğrusunu yazdınız ama ben hiç makro bilmediğim için anlamamış olabilirim.kusura bakmayın. ama dediğim gibi b sütunu başka yerden değer almamalı. d sütunu benim b sütununa elle girdiğim değeri örnekteki gibi etkilemeli.
sizin yazdığını makroda da sanırım b sütunu sayfa2 deki değerlere göre çalışıyor.
HEROGERONIMO Çevrimdışı   Alıntı Yaparak Cevapla
Eski 04-01-2018, 15:43   #6
YUSUF44
Destek Ekibi
 
YUSUF44 kullanıcısının avatarı
 
Giriş: 04/01/2006
Şehir: Manisa, Kula
Mesaj: 6,508
Excel Vers. ve Dili:
İş : Ofis 2016 - Türkçe Ev: Ofis 2016 - Türkçe
Varsayılan

Anlaşılması zor bir durum.

Sayın asri'nin izniyle eğer istediğiniz, B sütununa girdiğiniz sayıyı, A ve D sütunundaki sayılarla çarpıp yine B sütununa yazmaksa (örneğin A2''de 1, D2'de 2 yazıyorken B2'ye 100 yazdığınızda B2'de 1*2*100 işlemi ile 200 sonucunu görmekse) aşağıdaki kodları deneyiniz:

Kod: (Rahat kopyalayabilmeniz için tüm kodu seçmenizi sağlar)
Private Sub Worksheet_Change(ByVal Target As Range)
    On Error Resume Next
    son = Cells(Rows.Count, "B").End(3).Row + 1
    If Intersect(Target, Range("B2:B" & son)) Is Nothing Then Exit Sub
    If Target.Cells.Count > 1 Then Exit Sub
    If Target.Value = "" Then Exit Sub
    If IsNumeric(Target) = False Then Exit Sub
    Application.EnableEvents = False
    Target = Target * Target.Offset(0, -1) * Target.Offset(0, 2)
    Application.EnableEvents = True
End Sub
__________________


Sorularınızı örnek dosyayla desteklemeniz çözüme ulaşmanızı kolaylaştırır.

Altın Üye olmanızı öneririm. Altın Üye değilseniz dosyanızı dosya yükleme sitelerinden birine yükleyip linkini paylaşabilirsiniz.
YUSUF44 Çevrimiçi   Alıntı Yaparak Cevapla
Eski 05-01-2018, 07:45   #7
HEROGERONIMO
Altın Üye
 
Giriş: 07/12/2011
Mesaj: 15
Excel Vers. ve Dili:
2013-TÜRKÇE
Varsayılan

Alıntı:
YUSUF44 tarafından gönderildi Mesajı Görüntüle
Anlaşılması zor bir durum.

Sayın asri'nin izniyle eğer istediğiniz, B sütununa girdiğiniz sayıyı, A ve D sütunundaki sayılarla çarpıp yine B sütununa yazmaksa (örneğin A2''de 1, D2'de 2 yazıyorken B2'ye 100 yazdığınızda B2'de 1*2*100 işlemi ile 200 sonucunu görmekse) aşağıdaki kodları deneyiniz:

Kod: (Rahat kopyalayabilmeniz için tüm kodu seçmenizi sağlar)
Private Sub Worksheet_Change(ByVal Target As Range)
    On Error Resume Next
    son = Cells(Rows.Count, "B").End(3).Row + 1
    If Intersect(Target, Range("B2:B" & son)) Is Nothing Then Exit Sub
    If Target.Cells.Count > 1 Then Exit Sub
    If Target.Value = "" Then Exit Sub
    If IsNumeric(Target) = False Then Exit Sub
    Application.EnableEvents = False
    Target = Target * Target.Offset(0, -1) * Target.Offset(0, 2)
    Application.EnableEvents = True
End Sub
teşekkür ederim "YUSUF44".ama istediğim bu değil.bakın örnek dosyada sadece b ve d sütununa odaklanalım. ben b sütununda örneğin b2 hücresine elle bir değer giriyorum.ama daha sonra elle girdiğim bu değerin d dütununda d2 hücresinde bulunan 1 rakamını arttırıp azaltmak suretiyle b2 hücresindeki değeri değiştirebilmek istiyorum. işin bundan sonraki kısmı yani b2 deki değeri a2 ile çarparak c2 ye yazdırmak zaten excel formülüyle yapılan basit bişey. işin bu kısmını zaten excelde hallediyorum.benim sıkıntım b2 ye elle girdiğim bir değeri d2 deki rakamı değiştirerek değiştirmek.
Tabi bu işlemi yaparken örnek dosyada d2 hücresindeki değer değişimi b2 hücresini nasıl etkiliyorsa makroda o şekilde yazılmalı.diyelim ki b2 ye elle "100" girdim. d2 deki "1" değerini "1,1" yaptığımda d2 "110" olmalı. d2 yi "1,2" yaptığımda "120" olmalı. ama d2 yi tekrar "1" yaptığımda b2 deki değerde tekrar ilk girdiğim değere dönmeli (yani 100 olmalı).çok uzun oldu kusura bakmayın ama umarım anlatabilmişimdir.aslında kısaca benim örnek dosyada yaptığımdan tek fark b sütunudaki değerleri elle girme zorunluluğumun olması. b sütunundaki değerler başak bir hücreden formülle değer almamalı. ben elle girmeliyim.
Eklenmiş Dosyalar
Dosya Türü: xlsx örnek.xlsx (9.1 KB, 1 Görüntülenme)
HEROGERONIMO Çevrimdışı   Alıntı Yaparak Cevapla
Eski 05-01-2018, 08:14   #8
YUSUF44
Destek Ekibi
 
YUSUF44 kullanıcısının avatarı
 
Giriş: 04/01/2006
Şehir: Manisa, Kula
Mesaj: 6,508
Excel Vers. ve Dili:
İş : Ofis 2016 - Türkçe Ev: Ofis 2016 - Türkçe
Varsayılan

Anlaşılması ve çözümü zor bir istek olmuş. Yardımcı sütun kullanmadan yapılabilir mi bilmiyorum. E sütununu yardımcı sütun olarak kullanarak aşağıdaki kodlarla yapılabilir. Kod B sütununda değişiklik olduğunda bu değer E sütununa yazmakta, daha sonra D sütunu değiştiğinde ise E sütunundaki değerle D sütunundaki değeri çarparak B sütununa yazmaktadır. İsterseniz E sütununu gizleyebilirsiniz:

Kod: (Rahat kopyalayabilmeniz için tüm kodu seçmenizi sağlar)
Private Sub Worksheet_Change(ByVal Target As Range)
    On Error Resume Next
    son = Cells(Rows.Count, "B").End(3).Row + 1
    If Intersect(Target, Range("D2:D" & son)) Is Nothing Then GoTo 10
    If Target.Cells.Count > 1 Then Exit Sub
    If Target.Value = "" Then Exit Sub
    If IsNumeric(Target) = False Then Exit Sub
    Application.EnableEvents = False
    Target.Offset(0, -2) = Target * Target.Offset(0, 1)
    Application.EnableEvents = True
10:
    If Intersect(Target, Range("B2:B" & son)) Is Nothing Then Exit Sub
    If Target.Cells.Count > 1 Then Exit Sub
    If IsNumeric(Target) = False Then Exit Sub
    Application.EnableEvents = False
    Target.Offset(0, 3) = Target
    Application.EnableEvents = True

End Sub
__________________


Sorularınızı örnek dosyayla desteklemeniz çözüme ulaşmanızı kolaylaştırır.

Altın Üye olmanızı öneririm. Altın Üye değilseniz dosyanızı dosya yükleme sitelerinden birine yükleyip linkini paylaşabilirsiniz.
YUSUF44 Çevrimiçi   Alıntı Yaparak Cevapla
Eski 05-01-2018, 08:35   #9
HEROGERONIMO
Altın Üye
 
Giriş: 07/12/2011
Mesaj: 15
Excel Vers. ve Dili:
2013-TÜRKÇE
Varsayılan

Alıntı:
YUSUF44 tarafından gönderildi Mesajı Görüntüle
Anlaşılması ve çözümü zor bir istek olmuş. Yardımcı sütun kullanmadan yapılabilir mi bilmiyorum. E sütununu yardımcı sütun olarak kullanarak aşağıdaki kodlarla yapılabilir. Kod B sütununda değişiklik olduğunda bu değer E sütununa yazmakta, daha sonra D sütunu değiştiğinde ise E sütunundaki değerle D sütunundaki değeri çarparak B sütununa yazmaktadır. İsterseniz E sütununu gizleyebilirsiniz:

Kod: (Rahat kopyalayabilmeniz için tüm kodu seçmenizi sağlar)
Private Sub Worksheet_Change(ByVal Target As Range)
    On Error Resume Next
    son = Cells(Rows.Count, "B").End(3).Row + 1
    If Intersect(Target, Range("D2:D" & son)) Is Nothing Then GoTo 10
    If Target.Cells.Count > 1 Then Exit Sub
    If Target.Value = "" Then Exit Sub
    If IsNumeric(Target) = False Then Exit Sub
    Application.EnableEvents = False
    Target.Offset(0, -2) = Target * Target.Offset(0, 1)
    Application.EnableEvents = True
10:
    If Intersect(Target, Range("B2:B" & son)) Is Nothing Then Exit Sub
    If Target.Cells.Count > 1 Then Exit Sub
    If IsNumeric(Target) = False Then Exit Sub
    Application.EnableEvents = False
    Target.Offset(0, 3) = Target
    Application.EnableEvents = True

End Sub
çok zahmet oldu size ama gerçekten tam istediğim olmuş. E sütununu gizleyerek kulllanmak hiç sıkıntı değil. önemli olan elle değer girdiğim b sütununun d ye göre değişebiliyor olması ve b sütununun görünür olması.
çok teşekkür ediyorum.emeğinize sağlık.
HEROGERONIMO Çevrimdışı   Alıntı Yaparak Cevapla
Yanıtla


Konu Araçları
Görünüm Modları

Gönderme Kuralları
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is Açık
SimgelerAçık
[IMG] kodu Açık
HTML kodu Kapalı


Saat 23:26


Bu forum Elit NET - www.elitnet.com.tr tarafından sunulmaktadır.

Excel Eğitimi - Mobil Uygulama - Çorlu - Çorlu Web Tasarım -- Beylikdüzü mali müşavir - Lingerie - Dyeing Machine - Karton Bardak- Karton Bardak- Çorlu Dil Konuşma Terapisti- Çorlu Özel Eğitim- Site Yönetimi- Pronet Tekirdağ- Çorlu Kamera- Pronet Edirne- Pronet Çorlu- Çorlu Araç Takip- Çorlu Su Arıtma- Gebze Emlak- Rampa- Rotary- Çorlu İnternet Sitesi- Çorlu Sürücü Kursu- Çorlu Sürücü Kursu- Şişli Avukat- Edirne Serbest Muhasebeci- Çorlu Etüt- İstanbul Botanik- Çorlu Sigorta- Kağıt Bardak- Kaplan Tekstil- Çorlu Perde- Çorlu Havuz- Makina- Danışmazlar-
Powered by vBulletin Version 3.7.2
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.
Advertisement System V2.6 By   Branden