Soru Girdiye karşılık gelen değeri yazdırmak

Katılım
5 Mayıs 2020
Mesajlar
31
Excel Vers. ve Dili
İng-14.0.6023
Basitce kullanıcıdan inputbox ile değer girmesini istedim. daha sonrasında ise girdiği değere, exceldeki tablomda karşılık gelen değeri msgbox içerisinde göstermek istiyorum. nasıl yapabilirim

yani kullanıcı 25 değerini girecek ben vbada karlısına 997 değerini göstereceğim. şimdiden teşekkürler
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,738
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Deneyiniz.

Arama işlemini A sütununda yapar. Kendinize uyarlarsınız.

C++:
Option Explicit

Sub Deger_Ara()
    Dim Deger As Variant, Bul As Range
    
    Deger = Application.InputBox("Aramak istediğiniz değeri giriniz...")
    
    If Deger = "" Or Deger = False Then Exit Sub
    
    Set Bul = Range("A:A").Find(Deger, , , xlWhole)
    
    If Not Bul Is Nothing Then MsgBox Bul.Offset(, 2)
End Sub
 
Katılım
5 Mayıs 2020
Mesajlar
31
Excel Vers. ve Dili
İng-14.0.6023
Deneyiniz.

Arama işlemini A sütununda yapar. Kendinize uyarlarsınız.

C++:
Option Explicit

Sub Deger_Ara()
    Dim Deger As Variant, Bul As Range
  
    Deger = Application.InputBox("Aramak istediğiniz değeri giriniz...")
  
    If Deger = "" Or Deger = False Then Exit Sub
  
    Set Bul = Range("A:A").Find(Deger, , , xlWhole)
  
    If Not Bul Is Nothing Then MsgBox Bul.Offset(, 2)
End Sub
Yanlış anlamadıysam bu makro girilen Deger değişkenini örnek veriyorum a1 a23 hücreleri arasında arayıp o hücrede yazanı önüne sunuyor. fakat (örnek veriyorum) benim aradığım deger değişkeni zaten a20 deki değer. istediğim dönüt ise c20 hücresinde yazan şey.

umarım açıklayabilmişimdir
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,738
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Denemeden yazdığınız nasıl belli oluyor...
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,738
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Offset (Kaydır) özelliğidir.

Aynı exceldeki KAYDIR fonksiyonu gibi çalışır.

Bulduğun değerin iki sütun ötesindeki değeri ver anlamında kullanmıştım.
 
Katılım
5 Mayıs 2020
Mesajlar
31
Excel Vers. ve Dili
İng-14.0.6023
Offset (Kaydır) özelliğidir.

Aynı exceldeki KAYDIR fonksiyonu gibi çalışır.

Bulduğun değerin iki sütun ötesindeki değeri ver anlamında kullanmıştım.
özür dilerim tekrar rahatsız ediyorum ama bir sorunla karşılaştım. şimdi kullanıcıdan istenen veriyi aldım. karşılık gelen değerleri çekmeye çalışıyorum. birden fazla değer çekmem gerektiği için biraz geliştirmem gerekti.


fakat bu kodu çalıştırdığımda nedense kod exceldeki hücre içindeki değerleri siliyor. ve atadığım DviscSI KviscSI gibi değişkenler empty kalıyor. bunun önüne nasıl geçebilirim

Örneğin 15 derece için şu veriler


offset konusunda bir sıkıntı yok fakat kodu çalıştırdığımda o hücrelerdeki veriyi siliyor
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,738
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Örnek dosya ekleyerek yapmak istediğiniz işlemi açıklarsanız daha net cevaplar verebiliriz.
 
Katılım
5 Mayıs 2020
Mesajlar
31
Excel Vers. ve Dili
İng-14.0.6023
Örnek dosya ekleyerek yapmak istediğiniz işlemi açıklarsanız daha net cevaplar verebiliriz.
excel dosyası eklemeyi bulamadım ekle kısmında sanırsam sadece altın üyelere açık. fotoğraf ekliyorum yine.


kullanıcı a sütünündan bir sayı giricek inputbox ile. (sayı 5in katları olması sorununu mod ile çözdüm sıkıntı yok) örneğin a2 hücresi 5. bende dönüt olarak e2 c2 d2 hücresinde yazan cevapları vereceğim. umarım açıklaya bilmişimdir
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,738
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
"e2 c2 d2 hücresinde yazan cevapları vereceğim" bu ifadenizden ne anlam çıkaralım.
 
Katılım
5 Mayıs 2020
Mesajlar
31
Excel Vers. ve Dili
İng-14.0.6023
"e2 c2 d2 hücresinde yazan cevapları vereceğim" bu ifadenizden ne anlam çıkaralım.
kullanıcı inputbox a 10 yazacak. daha sonra ben vba ile msgbox ile 1000,1.30*10^-3 ve 1.30*10^-6 mesajlarını yazdıracağım. Hücrelerin isimlerini yazmak istemiştim e2 c2 d2 ile. pek açıklayıcı olmamış haklısınız :S
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,738
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Deneyiniz.

Kendinize uyarlarsınız.

C++:
Option Explicit

Sub Deger_Ara()
    Dim Deger As Variant, Bul As Range
    
    Deger = Application.InputBox("Aramak istediğiniz değeri giriniz...")
    
    If Deger = "" Or Deger = False Then Exit Sub
    
    Set Bul = Range("A:A").Find(Deger, , , xlWhole)
    
    If Not Bul Is Nothing Then
        MsgBox "Bulunan değerler ; " & vbLf & _
               Bul.Offset(, 2) & vbLf & _
               Bul.Offset(, 3) & vbLf & _
               Bul.Offset(, 4)
    End If
End Sub
 
Katılım
5 Mayıs 2020
Mesajlar
31
Excel Vers. ve Dili
İng-14.0.6023
Deneyiniz.

Kendinize uyarlarsınız.

C++:
Option Explicit

Sub Deger_Ara()
    Dim Deger As Variant, Bul As Range
   
    Deger = Application.InputBox("Aramak istediğiniz değeri giriniz...")
   
    If Deger = "" Or Deger = False Then Exit Sub
   
    Set Bul = Range("A:A").Find(Deger, , , xlWhole)
   
    If Not Bul Is Nothing Then
        MsgBox "Bulunan değerler ; " & vbLf & _
               Bul.Offset(, 2) & vbLf & _
               Bul.Offset(, 3) & vbLf & _
               Bul.Offset(, 4)
    End If
End Sub
çok işime yaradı teşekkürler
 
Üst