Bạn xem đúng không nhé.Mình dùng VBA.Dear Anh/Em GPE.
Hiện mình có file phiếu thu chi đính kèm, nhờ anh em giúp cho Công thức khi đánh số phiếu chi, tự hiện list các hóa đơn được chi trong đó.
Cảm ơn anh em
Sub laydulieu()
Dim arr, i As Long, lr As Long, a As Long, arr1, dk As String, dks As String
With Sheets("Data")
lr = .Range("A" & Rows.Count).End(xlUp).Row
If lr < 11 Then Exit Sub
arr = .Range("A11:H" & lr).Value
ReDim arr1(1 To UBound(arr, 1), 1 To 6)
End With
With Sheet2
dk = .Range("G4").Value & "#" & .Range("G5").Value
For i = 1 To UBound(arr, 1)
dks = arr(i, 2) & "#" & arr(i, 6)
If dk = dks Then
a = a + 1
arr1(a, 1) = a
arr1(a, 2) = arr(i, 3)
arr1(a, 3) = arr(i, 5)
arr1(a, 6) = arr(i, 8)
End If
Next i
.Range("A13:H27").ClearContents
If a Then .Range("A13").Resize(a, 6).Value = arr1
End With
End Sub
Tất cả đúng ý mình ngoại trừ việc số hợp đồng cho full các số "0" đằng đầu được không bạn, Cảm ơn nhiều nhiều nghenBạn xem đúng không nhé.Mình dùng VBA.
Mã:Sub laydulieu() Dim arr, i As Long, lr As Long, a As Long, arr1, dk As String, dks As String With Sheets("Data") lr = .Range("A" & Rows.Count).End(xlUp).Row If lr < 11 Then Exit Sub arr = .Range("A11:H" & lr).Value ReDim arr1(1 To UBound(arr, 1), 1 To 6) End With With Sheet2 dk = .Range("G4").Value & "#" & .Range("G5").Value For i = 1 To UBound(arr, 1) dks = arr(i, 2) & "#" & arr(i, 6) If dk = dks Then a = a + 1 arr1(a, 1) = a arr1(a, 2) = arr(i, 3) arr1(a, 3) = arr(i, 5) arr1(a, 6) = arr(i, 8) End If Next i .Range("A13:H27").ClearContents If a Then .Range("A13").Resize(a, 6).Value = arr1 End With End Sub
Bị lưu vết dữ liệu nữa bạn ạ, khi mình chuyển số HĐ ở G5 thì dữ liệu bị lưu vết. Ngoài ra mình nhờ thêm bạn nếu đánh phiếu chi sẽ tự hiện list ở G5 là PC... còn nếu đánh phiếu thu sẽ tự hiện list ở G5 là PT...Tất cả đúng ý mình ngoại trừ việc số hợp đồng cho full các số "0" đằng đầu được không bạn, Cảm ơn nhiều nhiều nghen
Đây bạn xem nhé.Bị lưu vết dữ liệu nữa bạn ạ, khi mình chuyển số HĐ ở G5 thì dữ liệu bị lưu vết. Ngoài ra mình nhờ thêm bạn nếu đánh phiếu chi sẽ tự hiện list ở G5 là PC... còn nếu đánh phiếu thu sẽ tự hiện list ở G5 là PT...
Nếu số HĐ ở cột B dài hơn khung đang để mặc định thì sẽ tự dài thêm ra không đè vào phần chữ ký và thành tiền.
View attachment 214048
Sub laydulieu()
Application.ScreenUpdating = False
Dim arr, i As Long, lr As Long, a As Long, arr1, dk As String, dks As String
With Sheets("Data")
lr = .Range("A" & Rows.Count).End(xlUp).Row
If lr < 11 Then Exit Sub
arr = .Range("A11:H" & lr).Value
ReDim arr1(1 To UBound(arr, 1), 1 To 6)
End With
With Sheet2
dk = .Range("G4").Value & "#" & .Range("G5").Value
For i = 1 To UBound(arr, 1)
dks = arr(i, 2) & "#" & arr(i, 6)
If dk = dks Then
a = a + 1
arr1(a, 1) = a
arr1(a, 2) = arr(i, 3)
arr1(a, 3) = arr(i, 5)
arr1(a, 6) = arr(i, 8)
End If
Next i
.Rows("13:252").EntireRow.Hidden = False
.Range("A13:H252").ClearContents
If a Then .Range("A13").Resize(a, 6).Value = arr1
.Rows(a + 13 & ":252").EntireRow.Hidden = True
End With
Application.ScreenUpdating = True
End Sub
Cảm ơn pro nhiều nhé. Chúc mọi điều tốt lành đến với bạn.Đây bạn xem nhé.
Mã:Sub laydulieu() Application.ScreenUpdating = False Dim arr, i As Long, lr As Long, a As Long, arr1, dk As String, dks As String With Sheets("Data") lr = .Range("A" & Rows.Count).End(xlUp).Row If lr < 11 Then Exit Sub arr = .Range("A11:H" & lr).Value ReDim arr1(1 To UBound(arr, 1), 1 To 6) End With With Sheet2 dk = .Range("G4").Value & "#" & .Range("G5").Value For i = 1 To UBound(arr, 1) dks = arr(i, 2) & "#" & arr(i, 6) If dk = dks Then a = a + 1 arr1(a, 1) = a arr1(a, 2) = arr(i, 3) arr1(a, 3) = arr(i, 5) arr1(a, 6) = arr(i, 8) End If Next i .Rows("13:252").EntireRow.Hidden = False .Range("A13:H252").ClearContents If a Then .Range("A13").Resize(a, 6).Value = arr1 .Rows(a + 13 & ":252").EntireRow.Hidden = True End With Application.ScreenUpdating = True End Sub
Mình có phát sinh thêm 2 cột " VAT và Tổng" được lấy từ sheet Data, bạn giúp mình nốt nhé. Nếu giúp mình có nút in tự động luôn thì đẳng cấp quá. Thanks bạn nhiều.Cảm ơn pro nhiều nhé. Chúc mọi điều tốt lành đến với bạn.
Bạn muốn in như thế nào nhỉ.Chọn cái in luôn à..Mà cái VAT với cái tổng bạn làm công thức cho nó nhanh.File của bạn mình mở lên cứ đơ đơ.Mình có phát sinh thêm 2 cột " VAT và Tổng" được lấy từ sheet Data, bạn giúp mình nốt nhé. Nếu giúp mình có nút in tự động luôn thì đẳng cấp quá. Cảm ơn bạn nhiều.
Đúng rồi bạn ấn nút print (không phải Ctrl + P nữa ) là nó tự in, cái phần VAT nhập tay và tổng nhập tay bên Sheet Data. File mình đơ đơ là mình đang dùng hàm mảng lọc duy nhất để lấy list cho Số phiếu thu/chi đó nên rất nặng (Công thức đó trong sheet ẩn)Bạn muốn in như thế nào nhỉ.Chọn cái in luôn à..Mà cái VAT với cái tổng bạn làm công thức cho nó nhanh.File của bạn mình mở lên cứ đơ đơ.
Nút in giống thế này nè bạn.Bạn muốn in như thế nào nhỉ.Chọn cái in luôn à..Mà cái VAT với cái tổng bạn làm công thức cho nó nhanh.File của bạn mình mở lên cứ đơ đơ.
Vậy thay bằng VBA cho nhanh.Hàm mảng làm gì cho mệt.Cái nút thì bạn có thể dùng code recode macro là được mà.Cái đấy có yêu cầu gì đâu..Bạn xóa công thức đi gửi file qua mình viết luôn code phần lis cho..Vì máy mình không mở được File.Đúng rồi bạn ấn nút print (không phải Ctrl + P nữa ) là nó tự in, cái phần VAT nhập tay và tổng nhập tay bên Sheet Data. File mình đơ đơ là mình đang dùng hàm mảng lọc duy nhất để lấy list cho Số phiếu thu/chi đó nên rất nặng (Công thức đó trong sheet ẩn)
Bài đã được tự động gộp:
Nút in giống thế này nè bạn.
Đây nha bạn.Vậy thay bằng VBA cho nhanh.Hàm mảng làm gì cho mệt.Cái nút thì bạn có thể dùng code recode macro là được mà.Cái đấy có yêu cầu gì đâu..Bạn xóa công thức đi gửi file qua mình viết luôn code phần lis cho..Vì máy mình không mở được File.
Mai nhé bạn giờ đến giờ về rồi.Đây nha bạn.
Ok pro, nao cho mình xin zalo học hỏi nhé.Mai nhé bạn giờ đến giờ về rồi.
Bạn xem nhé.Mà đừng gọi pro mình cũng mới học thôi.Ok pro, nao cho mình xin zalo học hỏi nhé.
Ok rồi bạn ơi. Cảm ơn bạn nhiều nha. Nếu không phiền cho mình xin số điện thoại, nao giao lưu học hỏi thêm từ bạn.Bạn xem nhé.Mà đừng gọi pro mình cũng mới học thôi.
DIỄN ĐÀN GIẢI PHÁP EXCEL Group 1
DIỄN ĐÀN GIẢI PHÁP EXCEL Group 2