Çalışmamda doğru enterpolasyon hesabını alamıyorum.Sorunu bulmak konusunda yardımcı olabilir misiniz?

bkk

Altın Üye
Katılım
30 Aralık 2019
Mesajlar
186
Excel Vers. ve Dili
Ofis 2019
Altın Üyelik Bitiş Tarihi
06-12-2025
Merhabalar,

Ekte belirli kurallara göre enterpolasyon hesabı yapmaktayım,
Trim:5 Gauge: 50 girdiğimde doğru kesişime ulaşamıyorum,
Yardımcı olabilir misiniz,
 

Ekli dosyalar

Muzaffer Ali

Destek Ekibi
Destek Ekibi
Katılım
5 Haziran 2006
Mesajlar
6,167
Excel Vers. ve Dili
2019 Türkçe
Merhaba.
Hesaplama kodlarını aşağıdaki ile değiştirin.
Kod:
Sub Hesaplama()
    Dim gauge_taban As Double, gauge_tavan As Double, sounding_taban As Double, sounding_tavan As Double, hesap As Double
    If TextBox2 <> 0 And TextBox2 Mod 5 <> 0 Then 'Eğer gauge 0 veya 5e böleninden kalan 0 DEĞİL ise hesapla
        gauge_taban = TextBox2.Value - TextBox2.Value Mod 5
        gauge_tavan = 5 + (TextBox2.Value - TextBox2.Value Mod 5)
        sounding_taban = Cells(Range("B5:B85").Find(what:=gauge_taban, lookat:=xlWhole).Row, Range("D4:W4").Find(what:=TextBox1, lookat:=xlWhole).Column).Value
        sounding_tavan = Cells(Range("B5:B85").Find(what:=gauge_tavan, lookat:=xlWhole).Row, Range("D4:W4").Find(what:=TextBox1, lookat:=xlWhole).Column).Value
        hesap = ((sounding_taban - sounding_tavan) / 5) * ((TextBox2.Text - sounding_taban) + sounding_taban)
    ElseIf TextBox2 = 0 Or TextBox2 Mod 5 = 0 Then 'Eğer gauge 0 veya 5e böleninden kalan 0 ise hesapla(tablodan kesişimi bulur)
        hesap = Cells(Range("B5:B85").Find(what:=TextBox2, lookat:=xlWhole).Row, Range("D4:W4").Find(what:=TextBox1, lookat:=xlWhole).Column).Value
    End If
    Label1.Caption = FormatNumber(hesap, 2)
End Sub
 
  • Beğen
Reactions: bkk

bkk

Altın Üye
Katılım
30 Aralık 2019
Mesajlar
186
Excel Vers. ve Dili
Ofis 2019
Altın Üyelik Bitiş Tarihi
06-12-2025
Merhaba.
Hesaplama kodlarını aşağıdaki ile değiştirin.
Kod:
Sub Hesaplama()
    Dim gauge_taban As Double, gauge_tavan As Double, sounding_taban As Double, sounding_tavan As Double, hesap As Double
    If TextBox2 <> 0 And TextBox2 Mod 5 <> 0 Then 'Eğer gauge 0 veya 5e böleninden kalan 0 DEĞİL ise hesapla
        gauge_taban = TextBox2.Value - TextBox2.Value Mod 5
        gauge_tavan = 5 + (TextBox2.Value - TextBox2.Value Mod 5)
        sounding_taban = Cells(Range("B5:B85").Find(what:=gauge_taban, lookat:=xlWhole).Row, Range("D4:W4").Find(what:=TextBox1, lookat:=xlWhole).Column).Value
        sounding_tavan = Cells(Range("B5:B85").Find(what:=gauge_tavan, lookat:=xlWhole).Row, Range("D4:W4").Find(what:=TextBox1, lookat:=xlWhole).Column).Value
        hesap = ((sounding_taban - sounding_tavan) / 5) * ((TextBox2.Text - sounding_taban) + sounding_taban)
    ElseIf TextBox2 = 0 Or TextBox2 Mod 5 = 0 Then 'Eğer gauge 0 veya 5e böleninden kalan 0 ise hesapla(tablodan kesişimi bulur)
        hesap = Cells(Range("B5:B85").Find(what:=TextBox2, lookat:=xlWhole).Row, Range("D4:W4").Find(what:=TextBox1, lookat:=xlWhole).Column).Value
    End If
    Label1.Caption = FormatNumber(hesap, 2)
End Sub
çok teşekkür ederim, elinize sağlık
 

bkk

Altın Üye
Katılım
30 Aralık 2019
Mesajlar
186
Excel Vers. ve Dili
Ofis 2019
Altın Üyelik Bitiş Tarihi
06-12-2025
Merhaba.
Hesaplama kodlarını aşağıdaki ile değiştirin.
Kod:
Sub Hesaplama()
    Dim gauge_taban As Double, gauge_tavan As Double, sounding_taban As Double, sounding_tavan As Double, hesap As Double
    If TextBox2 <> 0 And TextBox2 Mod 5 <> 0 Then 'Eğer gauge 0 veya 5e böleninden kalan 0 DEĞİL ise hesapla
        gauge_taban = TextBox2.Value - TextBox2.Value Mod 5
        gauge_tavan = 5 + (TextBox2.Value - TextBox2.Value Mod 5)
        sounding_taban = Cells(Range("B5:B85").Find(what:=gauge_taban, lookat:=xlWhole).Row, Range("D4:W4").Find(what:=TextBox1, lookat:=xlWhole).Column).Value
        sounding_tavan = Cells(Range("B5:B85").Find(what:=gauge_tavan, lookat:=xlWhole).Row, Range("D4:W4").Find(what:=TextBox1, lookat:=xlWhole).Column).Value
        hesap = ((sounding_taban - sounding_tavan) / 5) * ((TextBox2.Text - sounding_taban) + sounding_taban)
    ElseIf TextBox2 = 0 Or TextBox2 Mod 5 = 0 Then 'Eğer gauge 0 veya 5e böleninden kalan 0 ise hesapla(tablodan kesişimi bulur)
        hesap = Cells(Range("B5:B85").Find(what:=TextBox2, lookat:=xlWhole).Row, Range("D4:W4").Find(what:=TextBox1, lookat:=xlWhole).Column).Value
    End If
    Label1.Caption = FormatNumber(hesap, 2)
End Sub
Muzaffer bey,
Sayfa belirtmek istedim aşağıdaki gibi ama hata verdi, yardımcı olabilir misiniz?

Sub Hesaplama()
Dim gauge_taban As Double, gauge_tavan As Double, sounding_taban As Double, sounding_tavan As Double, hesap As Double
If TextBox2 <> 0 And TextBox2 Mod 5 <> 0 Then 'Eğer gauge 0 veya 5e böleninden kalan 0 DEĞİL ise hesapla
gauge_taban = TextBox2.Value - TextBox2.Value Mod 5
gauge_tavan = 5 + (TextBox2.Value - TextBox2.Value Mod 5)
sounding_taban = Cells(Worksheets(degerler).Range("B5:B85").Find(what:=gauge_taban, lookat:=xlWhole).Row, Worksheets(degerler).Range("D4:W4").Find(what:=TextBox1, lookat:=xlWhole).Column).Value
sounding_tavan = Cells(Worksheets(degerler).Range("B5:B85").Find(what:=gauge_tavan, lookat:=xlWhole).Row, Worksheets(degerler).Range("D4:W4").Find(what:=TextBox1, lookat:=xlWhole).Column).Value
hesap = ((sounding_taban - sounding_tavan) / 5) * ((TextBox2.Text - sounding_taban) + sounding_taban)
ElseIf TextBox2 = 0 Or TextBox2 Mod 5 = 0 Then 'Eğer gauge 0 veya 5e böleninden kalan 0 ise hesapla(tablodan kesişimi bulur)
hesap = Cells(Worksheets(degerler).Range("B5:B85").Find(what:=TextBox2, lookat:=xlWhole).Row, Worksheets(degerler).Range("D4:W4").Find(what:=TextBox1, lookat:=xlWhole).Column).Value
End If
Label1.Caption = FormatNumber(hesap, 2)
End Sub
 

Muzaffer Ali

Destek Ekibi
Destek Ekibi
Katılım
5 Haziran 2006
Mesajlar
6,167
Excel Vers. ve Dili
2019 Türkçe
Sayfa ismini aşağıdaki gibi çift tırnak içinde yazmalısınız.
Kod:
Worksheets("degerler")
 
  • Beğen
Reactions: bkk
Üst