Truy vấn và cập nhật dữ liệu mảng giữa 2 sheet (1 người xem)

Liên hệ QC

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

hoanhnnc

Thành viên chính thức
Tham gia
13/3/08
Bài viết
58
Được thích
0
Kính Chào các Anh, Chi, Em diễn đàn,

Em có 2 sheet: Time và Data.

Mong muốn Anh, chi, em giúp làm sao truy vấn theo mã nhân viên gọi dữ liệu từ ngày 1-31 8 dòng loại giờ hiển thị ra Sheet time xong rồi bấm nhập lại data thì điền qua sheet data.

Em đã làm được 1 loại còn mảng con lại không rành mong anh chị giúp với ạ.

Do sửa dùng lệnh crtl+F lâu quá nên muốn quản lý theo mã truy suất cho nhanh. Mong ACE giúp đỡ

Xin cảm ơn.
 

File đính kèm

Kính Chào các Anh, Chi, Em diễn đàn,

Em có 2 sheet: Time và Data.

Mong muốn Anh, chi, em giúp làm sao truy vấn theo mã nhân viên gọi dữ liệu từ ngày 1-31 8 dòng loại giờ hiển thị ra Sheet time xong rồi bấm nhập lại data thì điền qua sheet data.

Em đã làm được 1 loại còn mảng con lại không rành mong anh chị giúp với ạ.

Do sửa dùng lệnh crtl+F lâu quá nên muốn quản lý theo mã truy suất cho nhanh. Mong ACE giúp đỡ

Xin cảm ơn.
Thử 2 code này xem.
Mã:
Option Explicit
Private sodong As Long
Sub abc()
   Dim i As Long, lr As Long, arr, kq(1 To 31, 1 To 8), dk As String, j As Integer, k As Integer
   sodong = 0
   With Sheets("time")
        dk = .Range("A1").Value
   End With
   With Sheets("Data")
       lr = .Range("D" & Rows.Count).End(xlUp).Row
       arr = .Range("B4:AI" & lr).Value
       For i = 1 To UBound(arr)
           If arr(i, 1) = dk Then
              sodong = i + 3
              For j = 1 To 8
                  For k = 1 To 31
                       kq(k, j) = arr(i + j - 1, k + 3)
                  Next k
              Next j
              Exit For
           End If
      Next i
  End With
  With Sheets("time")
       .Range("B4:I34").Value = kq
  End With
End Sub
Sub cba()
    Dim i As Long, arr, kq(1 To 8, 1 To 31), j As Integer
    If sodong = 0 Then MsgBox "KK": Exit Sub
    With Sheets("time")
         arr = .Range("B4:I34").Value
         For i = 1 To 31
             For j = 1 To 8
                 kq(j, i) = arr(i, j)
             Next j
         Next i
   End With
   With Sheets("Data")
        .Range("E" & sodong).Resize(8, 31).Value = kq
   End With
End Sub
 
Upvote 0
Thử 2 code này xem.
Mã:
Option Explicit
Private sodong As Long
Sub abc()
   Dim i As Long, lr As Long, arr, kq(1 To 31, 1 To 8), dk As String, j As Integer, k As Integer
   sodong = 0
   With Sheets("time")
        dk = .Range("A1").Value
   End With
   With Sheets("Data")
       lr = .Range("D" & Rows.Count).End(xlUp).Row
       arr = .Range("B4:AI" & lr).Value
       For i = 1 To UBound(arr)
           If arr(i, 1) = dk Then
              sodong = i + 3
              For j = 1 To 8
                  For k = 1 To 31
                       kq(k, j) = arr(i + j - 1, k + 3)
                  Next k
              Next j
              Exit For
           End If
      Next i
  End With
  With Sheets("time")
       .Range("B4:I34").Value = kq
  End With
End Sub
Sub cba()
    Dim i As Long, arr, kq(1 To 8, 1 To 31), j As Integer
    If sodong = 0 Then MsgBox "KK": Exit Sub
    With Sheets("time")
         arr = .Range("B4:I34").Value
         For i = 1 To 31
             For j = 1 To 8
                 kq(j, i) = arr(i, j)
             Next j
         Next i
   End With
   With Sheets("Data")
        .Range("E" & sodong).Resize(8, 31).Value = kq
   End With
End Sub
Test code chạy rất mượt. Cảm ơn bạn nhiều
 
Upvote 0
Web KT

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

Back
Top Bottom