Cần giúp điền tự động giá trị theo khoảng thời gian cho trước (1 người xem)

Liên hệ QC

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

tangoctuan

Thành viên hoạt động
Tham gia
22/4/08
Bài viết
153
Được thích
19
Nhờ mọi người hỗ trợ cách dùng VBA điền đúng giá nhiên liệu (xăng/dầu) được áp dụng theo từng khoảng thời gian như trong file gửi kèm (kết quả trả vào cột E vàng).
Thông tin về giá tham chiếu có trong 2 sheet bên cạnh.
Cám ơn mọi người!
 

File đính kèm

Nhờ mọi người hỗ trợ cách dùng VBA điền đúng giá nhiên liệu (xăng/dầu) được áp dụng theo từng khoảng thời gian như trong file gửi kèm (kết quả trả vào cột E vàng).
Thông tin về giá tham chiếu có trong 2 sheet bên cạnh.
Cám ơn mọi người!
Làm cho bạn 2 cột giá
Mã:
Sub GiaXangDau()
  Dim Data(), GiaX(), GiaD(), TinhVung(), Res()
  Dim sRow&, i&, jk&

  With Sheet1
    Data = .Range("A2", .Range("D" & Rows.Count).End(xlUp)).Value
  End With
  With Sheet2
    GiaX = .Range("A2", .Range("E" & Rows.Count).End(xlUp)).Value
    GiaD = .Range("G2", .Range("K" & Rows.Count).End(xlUp)).Value
  End With
  With Sheet3
    TinhVung = .Range("B3", .Range("C" & Rows.Count).End(xlUp)).Value
  End With
 
  With CreateObject("scripting.dictionary")
    sRow = UBound(TinhVung)
    For i = 1 To sRow
      .Item(TinhVung(i, 1)) = CLng(Right(TinhVung(i, 2), 1)) + 2
    Next i
    sRow = UBound(Data)
    ReDim Res(1 To sRow, 1 To 2)
    For i = 1 To sRow
      jk = .Item(Data(i, 1))
      If Data(i, 4) Like "X?ng" Then
        Call TinhGia(Res, jk, i, Data(i, 2), Data(i, 3), GiaX)
      Else
        Call TinhGia(Res, jk, i, Data(i, 2), Data(i, 3), GiaD)
      End If
    Next i
  End With
  Sheet1.Range("E2").Resize(sRow, 2) = Res
End Sub

Private Sub TinhGia(Res, jk, ByVal ik&, ByVal fDay As Date, ByVal eDay As Date, ByVal sArr)
  Dim i&, sRow&
  sRow = UBound(sArr)
  For i = sRow To 1 Step -1
    If eDay >= sArr(i, 5) Then
      If fDay >= sArr(i, 5) Then
        Res(ik, 1) = sArr(i, jk)
        Exit For
      Else
        Res(ik, 2) = sArr(i, jk)
      End If
    End If
  Next i
End Sub
 

File đính kèm

Web KT

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

Back
Top Bottom