Tìm giá trị tại cột thông qua dữ liệu tại sheet khác

Liên hệ QC
Tôi tuân thủ nội quy khi đăng bài

pham ha 94

Thành viên chính thức
Tham gia
13/12/22
Bài viết
86
Được thích
6
Mình có bài toán này cần tìm giá trị mà loay hoay mãi không được, nhờ các bác giúp sức với.
Sheet 2 có sẵn giá trị "-- page x-----" và hàng của "-- page x-----" tại sheet 1.
Mong muốn: tìm được số tiền tại mỗi vùng page của sheet 1
VD ở sheet 1: giữa vùng page 1 và page 2 có 1 số tiền, giữa vùng sheet 2 và sheet 3 cũng có cột số tiền tại cột B
Nhờ các bác giúp mình ở file đính kèm. Ưu tiên dùng code VBA thay vì dùng function
Cảm ơn các bác rất nhiều
 

File đính kèm

  • Tìm Giá trị cột dữ liệu.xlsm
    9.5 KB · Đọc: 13
Mình có bài toán này cần tìm giá trị mà loay hoay mãi không được, nhờ các bác giúp sức với.
Sheet 2 có sẵn giá trị "-- page x-----" và hàng của "-- page x-----" tại sheet 1.
Mong muốn: tìm được số tiền tại mỗi vùng page của sheet 1
VD ở sheet 1: giữa vùng page 1 và page 2 có 1 số tiền, giữa vùng sheet 2 và sheet 3 cũng có cột số tiền tại cột B
Nhờ các bác giúp mình ở file đính kèm. Ưu tiên dùng code VBA thay vì dùng function
Cảm ơn các bác rất nhiều
Bài này thì công thức bình thường cũng được chứ cần gì đến vba nhỉ.
 
Upvote 0
Bài này thì công thức bình thường cũng được chứ cần gì đến vba nhỉ.
Mình gặp vấn đề: Tại sheet 1 khi input dữ liệu mới thì hàng (col) của mỗi page sẽ thay đổi.
Ví dụ hiện tại page 1 ở col 1, page 2 ở col 10 và page 3 ở col 15
khi input file mới, có thể page 1 ở col 1, page 2 col 5 và page 3 col 10
hoặc có thể page 1 col 1, page 2 ở col 15 page 3 col 26.
Hiện m có thông tin tại sheet 2 là Col của mỗi page thôi và chưa tìm được cách để rò ra số tiền vì mỗi khoảng cách các page là thay đổi, bạn có thể giúp mình không?
 
Upvote 0
Mình gặp vấn đề: Tại sheet 1 khi input dữ liệu mới thì hàng (col) của mỗi page sẽ thay đổi.
Ví dụ hiện tại page 1 ở col 1, page 2 ở col 10 và page 3 ở col 15
khi input file mới, có thể page 1 ở col 1, page 2 col 5 và page 3 col 10
hoặc có thể page 1 col 1, page 2 ở col 15 page 3 col 26.
Hiện m có thông tin tại sheet 2 là Col của mỗi page thôi và chưa tìm được cách để rò ra số tiền vì mỗi khoảng cách các page là thay đổi, bạn có thể giúp mình không?
Bài này đơn giản thôi, nhưng bạn thông cảm vì mình không hỗ trợ các trường hợp viết tắt, bạn chịu khó chờ thành viên khác vậy.
 
Upvote 0
Mình gặp vấn đề: Tại sheet 1 khi input dữ liệu mới thì hàng (col) của mỗi page sẽ thay đổi.
Ví dụ hiện tại page 1 ở col 1, page 2 ở col 10 và page 3 ở col 15
khi input file mới, có thể page 1 ở col 1, page 2 col 5 và page 3 col 10
hoặc có thể page 1 col 1, page 2 ở col 15 page 3 col 26.
Hiện m có thông tin tại sheet 2 là Col của mỗi page thôi và chưa tìm được cách để rò ra số tiền vì mỗi khoảng cách các page là thay đổi, bạn có thể giúp mình không?
...... . . . ..................................
 
Upvote 0
...... . . . ..................................
Do Lỗi gõ từ thôi bạn ạ
Hiện m có thông tin tại sheet 2 là Col của mỗi page thôi và chưa tìm được cách để rò ra số tiền vì mỗi khoảng cách các page là thay đổi, bạn có thể giúp MÌNH không?
Nếu vì mình quen viết tắt thì đã viết hết rồi. Cũng rất cảm ơn bạn đã quan tâm và ủng hộ mình.
Cảm ơn bạn nhiều.
 
Upvote 0
UDF:
Công thức tại C2:
Mã:
=Sotien()

PHP:
Option Explicit
Function Sotien()
Dim rPage As Long, i&
rPage = Application.Caller.Offset(, -1).Value
i = rPage
With Sheets("Sheet1")
    Do
        If Not IsEmpty(.Cells(i, "B")) Then
            Sotien = .Cells(i, "B").Value
            Exit Function
        End If
        i = i + 1
    Loop Until i = .Cells(Rows.Count, "B").End(xlUp).Row + 1
End With
End Function
 

File đính kèm

  • Tìm Giá trị cột dữ liệu.xlsm
    18.7 KB · Đọc: 6
Upvote 0
UDF:
Công thức tại C2:
Mã:
=Sotien()

PHP:
Option Explicit
Function Sotien()
Dim rPage As Long, i&
rPage = Application.Caller.Offset(, -1).Value
i = rPage
With Sheets("Sheet1")
    Do
        If Not IsEmpty(.Cells(i, "B")) Then
            Sotien = .Cells(i, "B").Value
            Exit Function
        End If
        i = i + 1
    Loop Until i = .Cells(Rows.Count, "B").End(xlUp).Row + 1
End With
End Function
Cảm ơn bạn rất nhiều, mình chạy thử và thành công.
Hơi tham lam 1 chút, với đề bài này của mình, nếu làm code VBA thì có thể sử dụng được không bạn?
Cảm ơn bạn rất nhiều vì đã giúp đỡ mình.
 
Upvote 0
Cảm ơn bạn rất nhiều, mình chạy thử và thành công.
Hơi tham lam 1 chút, với đề bài này của mình, nếu làm code VBA thì có thể sử dụng được không bạn?
Cảm ơn bạn rất nhiều vì đã giúp đỡ mình.
Đây là code VBA nè bạn, dưới hình thức hàm tự tạo UDF.
 
Upvote 0
Đây là code VBA nè bạn, dưới hình thức hàm tự tạo UDF.
Mình có kiểm tra Function thì hiểu là tại row của cột B sheet2, sẽ tìm bên sheet1 và trả về dữ liệu đầu tiên nó tìm thấy.
Không tìm theo nội dung số tiền ở Sheet1 cột A và đối chiếu sang cột B. Nếu dữ liệu có sự thay đổi như file mình đính kèm thì sẽ trả về sai giá trị.
Không biết có cách nào khắc phục lỗi này không?. Nhờ bạn xem giúp mình với.
 

File đính kèm

  • Tìm Giá trị cột dữ liệu 2.xlsm
    18.8 KB · Đọc: 2
Upvote 0
Làm lại:
PHP:
Option Explicit
Function Sotien()
Dim rPage As Long, i&
rPage = Application.Caller.Offset(, -1).Value
i = rPage
With Sheets("Sheet1")
    Do
        If IsNumeric(.Cells(i, "B")) And Not IsEmpty(.Cells(i, "B")) Then
            Sotien = .Cells(i, "B").Value
            Exit Function
        End If
        i = i + 1
    Loop Until i = .Cells(Rows.Count, "B").End(xlUp).Row + 1
End With
End Function
 

File đính kèm

  • Tìm Giá trị cột dữ liệu 2.xlsm
    18.8 KB · Đọc: 3
Upvote 0
UDF:
Công thức tại C2:
Mã:
=Sotien()

PHP:
Option Explicit
Function Sotien()
Dim rPage As Long, i&
rPage = Application.Caller.Offset(, -1).Value
i = rPage
With Sheets("Sheet1")
    Do
        If Not IsEmpty(.Cells(i, "B")) Then
            Sotien = .Cells(i, "B").Value
            Exit Function
        End If
        i = i + 1
    Loop Until i = .Cells(Rows.Count, "B").End(xlUp).Row + 1
End With
End Function
theo m hiểu so với function cũ thì thêm trường lọc cell B là số nữa đúng không bạn
 
Upvote 0
Web KT

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

Back
Top Bottom