Tìm lỗi (2 người xem)

Liên hệ QC

Người dùng đang xem chủ đề này

bucthucuoi

Thành viên mới
Tham gia
14/9/06
Bài viết
14
Được thích
9
Nghề nghiệp
SV
Tự function tra bảng 2 chiều của thầy PTH em đã chuyển sang dưới dạng Sub.Tuy nhiên ko hiểu sao khi chạy sub chỉ đúng với với giá trị X<8.Em ko biết sai sót chỗ nào.Rất mong mọi người chỉ giúp(chạy function thì kết quả chính xác)
 

File đính kèm

file nội suy

bạn load về nhé
 

File đính kèm

Chỉnh sửa lần cuối bởi điều hành viên:
Cái đầu tiên của em sai là giá trị Y nội suy ngoài vùng. (Y=1.6 <2).
Code sửa lại như sau:
Mã:
Sub Noisuy2chieu1()
    Dim SoX, SoY As Single
    Dim i, j As Integer
    Worksheets("bangtra").Select
    Range("A2:H15").Select ' Có thể tùy biến bằng cách dùng InputBox
    Set X = Selection
        cao = X.Rows.Count 'Xác định số hàng
        Rong = X.Columns.Count 'Xác định số cột
    SoX = Sheets("nhapso").Range("A2").Value
    SoY = Sheets("nhapso").Range("B2").Value
    Dim A1, A2, B1, B2, Y1, Y2, Tim As Single 'Các điểm chặn xung quanh điểm tính nội suy
        For i = 2 To cao + 1
            If Selection(i, 1) > SoX Then
                n = i
                    For j = 2 To Rong + 1
                        If X(1, j) > SoY Then
                            m = j
                            B1 = X(n - 1, m)
                            B2 = X(n, m)
                            A1 = X(n - 1, m - 1)
                            A2 = X(n, m - 1)
                            Y1 = (SoY - X(1, m - 1)) * (B1 - A1) / (X(1, m) - X(1, m - 1)) + A1
                            Y2 = (SoY - X(1, m - 1)) * (B2 - A2) / (X(1, m) - X(1, m - 1)) + A2
                            Tim = (SoX - X(n - 1, 1)) * (Y2 - Y1) / (X(n, 1) - X(n - 1, 1)) + Y1
                            Exit For
                        End If
                    Next j
                        Exit For
             End If
         Next i
                Sheets("ketqua").Select
                Range("B2").Value = Tim
End Sub

Chúc em thành công! :-=
 
Theo tôi, em cứ lập hàm tính thông thường, sau đó lập chương trình con (Sub) để lấy giá trị hàm đó thì hay hơn.
 
Web KT

Bài viết mới nhất

Back
Top Bottom