• DİKKAT

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

OPTION BUTTON HK

  • Konbuyu başlatan Konbuyu başlatan bkk
  • Başlangıç tarihi Başlangıç tarihi

bkk

Katılım
30 Aralık 2019
Mesajlar
186
Excel Vers. ve Dili
Ofis 2019
Merhabalar,

Forumdan örnekleri le options button kullandım ancak doğru hesabı alamıyorum, hata hakkında yardımcı olabilir misiniz,
 

Ekli dosyalar

Olmayan kısmı neresidir tam olarak?
 
Değerleri doğru vermiyor her sayfada farklı değer var sadece ilk sayfayı baz alıyor
 
C++:
sounding_taban = Cells(Worksheets("LO_SLUDGE_TK").Range("B5:B22").Find(what:=gauge_taban, lookat:=xlWhole).Row, Worksheets("LO_SLUDGE_TK").Range("D4:M4").Find(what:=trim_input, lookat:=xlWhole).Column).Value

Bu şekilde kullandığınız için sadece aktif sayfadaki değeri döndürmesi normal.
Aşağıdaki gibi denermisiniz.
Tabi tüm ilgili yerleri düzeltmeniz gerekecek şimdi.
sounding_taban =Worksheets("LO_SLUDGE_TK"). Cells(Worksheets("LO_SLUDGE_TK")........
 
  • Beğen
Reactions: bkk
Ömer bey, gösterdiğiniz şekilde değiştirdim ancak fo_sludge sayfasında -4 trim 213 iskandil girdiğimde debug diyor.
 

Ekli dosyalar

O sayfada satır aralığınız kodlarda B5:B22 diye yazılmış. Ancak 213 değer B23 hücresinde.

Ayrıca kodlarınızı okumak ve gerektiğinde revize etmek biraz karışıktı
İster kodlarınızı bu haliyle kullanın isterseniz aşağıdaki önerimi yapın.

OptionButtonlara ait kodlarınızı silin
Önceki Hesaplama kodlarını silin.

Aşağıdakileri userformun kodlarının en üstüne yapıştırın.

C++:
Dim Sayfam As Worksheet
Sub Hesaplama()
    Dim gauge_taban As Double, gauge_tavan As Double, sounding_taban As Double, sounding_tavan As Double, hesap As Double
    Dim xRow As Integer, xCol As Integer
    
    If Sayfam Is Nothing Then
        MsgBox ("Hesaplamak için tank seçiniz !"), vbExclamation, " Excelvba"
        Exit Sub
    End If

    xCol = Sayfam.Range("D4:M4").Find(trim_input, , , xlWhole).Column

    If gauge_input <> 0 And gauge_input Mod 5 <> 0 Then 'Eğer gauge 0 veya 5e böleninden kalan 0 DEĞİL ise hesapla
        gauge_taban = gauge_input.Value - gauge_input.Value Mod 5
        gauge_tavan = 5 + (gauge_input.Value - gauge_input.Value Mod 5)

        xRow = Sayfam.Range("B5:B" & Sayfam.Range("B" & Rows.Count).End(3).Row).Find(gauge_taban, , , xlWhole).Row
        sounding_taban = Sayfam.Cells(xRow, xCol)
        
        xRow = Sayfam.Range("B5:B" & Sayfam.Range("B" & Rows.Count).End(3).Row).Find(gauge_tavan, , , xlWhole).Row
        sounding_taban = Sayfam.Cells(xRow, xCol)
        
        hesap = ((sounding_taban - sounding_tavan) / 5) * ((gauge_input.Text - sounding_taban) + sounding_taban)
    Else
        'Eğer gauge 0 veya 5e böleninden kalan 0 ise hesapla(tablodan kesişimi bulur)
        xRow = Sayfam.Range("B5:B" & Sayfam.Range("B" & Rows.Count).End(3).Row).Find(gauge_input, , , xlWhole).Row
        hesap = Sayfam.Cells(xRow, xCol)
    End If
    Label1.Caption = FormatNumber(hesap, 3)
End Sub
Private Sub BILGE_HOLD_TK_Click()
    Set Sayfam = Worksheets("BILGE_HOLD_TK")
End Sub

Private Sub FO_DRAIN_TK_Click()
    Set Sayfam = Worksheets("FO_DRAIN_TK")
End Sub

Private Sub FO_OVERFLOW_TK_Click()
    Set Sayfam = Worksheets("FO_OVERFLOW_TK")
End Sub

Private Sub FO_SLUDGE_Click()
    Set Sayfam = Worksheets("FO_SLUDGE")
End Sub

Private Sub LO_SLUDGE_TK_Click()
    Set Sayfam = Worksheets("LO_SLUDGE_TK")
End Sub

Private Sub ME_SUMP_TNK_Click()
    Set Sayfam = Worksheets("ME_SUMP_TNK")
End Sub

Private Sub WASTEOIL_TK_Click()
    Set Sayfam = Worksheets("WASTEOIL_TK")
End Sub
 
  • Beğen
Reactions: bkk
İlginiz ve dönüşünüz için çok teşekkür ediyorum, elinize sağlık
 
Eyvallah.
 
Geri
Üst