• DİKKAT

    DOSYA İndirmek/Yüklemek için ÜCRETLİ ALTIN ÜYELİK Gereklidir!
    Altın Üyelik Hakkında Bilgi

StrComp Komutu

Katılım
9 Mayıs 2011
Mesajlar
7
Excel Vers. ve Dili
Office 2010, Ingilizce
Merhaba arkadaşlar;

İş yerinden bir arkadaşımla birlikte bu makro üzerinde çalışıyoruz. 2miz'de başlangıç seviyesinde VB bilgisine sahibiz, bu yüzden işin içinden çıkamadık. Kodlama ingilizce yazlışmıştır mümkün olduğunca Türkçeleştirmeye çalıştım postlamadan önce. İngilizce kodlarla yardım edebilirsiniz çok daha faydalı olur.

Kodlar biraz karışık olabilir, tam olarak yapmak istediğimiz şeyi açıklamamı isterseniz lütfen belirtin.

Teşekkürler.
 

Ekli dosyalar

Merhaba,

Kod üzerinden değil de yapmak istediğinizi detaylı açıklarsanız daha doğru olacaktır.

.
 
Yapmak istedigim tam olarak, dosyada 4 sutün veri var. Urün kodu, fiyatı, indirim için en az alınması gerekilen miktar ve indirim miktarı.

Yazmak istedigim kodda, önce hangi ürünü istedigini, sonra kaç tane istedigini soruyor kullanıcıya. eğer almak istedigi miktar indirim için yeterliyse, gerekli hesaplamaları yapıp," ___ tane aldıgınız için __ kadar indirim olmuştur, toplam ödemeniz gereken para ___'dır" gibisinden bir msgbox; eğer almak istedigi ürün miktarı yeterli deilse "üzgünüz indirimden yararlanmak için ___ tane daha ürün almanız gerekmektedir" gibisinden bir mesaj.


msgbox kısımları kolay tabiki hatta yazdım bile onları kodda, önemli olan hesaplamayı yapıcak dizaynı yapabilmek. ben biraz karıştırdım sonrada takıldım kaldım.

hesaplamayı yaparken i ve 1 olan yerler var, problemin orda oldugunu düşünüyorum.

Teşekkürler.
 
Merhaba,

Bu şekilde deneyiniz.

Mesaj bilgilerini çok detaylı yazmadım. Siz istediğiniz hesaplamaları ve açıklamaları ilave edersiniz.

Kod:
Sub Karsilastir()
 
Dim c As Range, uRun As String, mIktar As Double
 
uRun = InputBox("Lütfen Ürün Yazın", "Değerlendirme")
mIktar = InputBox("Lütfen Miktar Yazın", "Değerlendirme")
 
Set c = Range("A:A").Find(uRun, LookIn:=xlValues, LookAt:=xlWhole)
If Not c Is Nothing Then
    With Range("B" & c.Row)
        If mIktar >= Range("C" & c.Row) Then
            MsgBox "İndirimsiz...." & .Value * mIktar & Chr(10) _
            & "İndirimli...." & .Value * mIktar * _
                (1 - Range("D" & c.Row)), vbInformation, "Sonuc"
        Else
            MsgBox mIktar & " İle indirim yapamazsınız.", vbCritical, "Sonuc"
        End If
    End With
End If
 
End Sub
.
 
Teşekkür ederim Ömer,

Benim yazmaya çalıştıgımdan çok daha kolay ve çalışan bir yöntem. Yeni bişey daha öğrendim sayende.

Tekrar teşekkürler...
 
Rica ederim, işinize yaradığına sevindim. İyi çalışmalar...
 
Geri
Üst