Tạo nút lệnh di chuyển dữ liệu sang sheet khác có sẵn (1 người xem)

Liên hệ QC

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

toangiaphat

Thành viên hoạt động
Tham gia
6/5/09
Bài viết
136
Được thích
3
Mình cần tạo nút lệnh: Sau khi kết thúc ngày làm việc. Clich vào nút đó nó sẽ copy toàn bộ dữ liêu sang 1 sheet Tổng hợp dùng để tính lương (sheet này có sẵn). ngày tiếp theo tương tự nó sẽ copy xuống dòng tiếp theo.
Lưu ý chỉ copy value thui!
Cám ơn các Bác.
 

File đính kèm

Bạn thử xem file sau xem đúng ý bạn không nhé !
 

File đính kèm

Upvote 0
Có thể nào cho nó copy value. ko copy công thức ko Bác.
Thanks!
 
Upvote 0
Mình có cái lệnh này nhưng ko biết làm sao để cho nó copy qua sheet mình mong muốn. Nhờ Bác xem hộ:
Public Sub GPE()
Dim dong As Long
dong = Sheet6.Range("E" & (Sheet6.Range("E65000").End(xlUp).Row)).Row - 1
Sheet2.Range("A" & (Sheet2.Range("E65000").End(3).Row + 1)).Resize(dong, 25).Value = Sheet6.Range("A2").Resize(dong, 25).Value
Selection.Copy Sheet1.Range("E" & (Sheet1.Range("E65000").End(xlUp).Row + 1))
MsgBox "Da Tao Xong"
End Sub
 
Upvote 0
Mình có cái lệnh này nhưng ko biết làm sao để cho nó copy qua sheet mình mong muốn. Nhờ Bác xem hộ:
Public Sub GPE()
Dim dong As Long
dong = Sheet6.Range("E" & (Sheet6.Range("E65000").End(xlUp).Row)).Row - 1
Sheet2.Range("A" & (Sheet2.Range("E65000").End(3).Row + 1)).Resize(dong, 25).Value = Sheet6.Range("A2").Resize(dong, 25).Value
Selection.Copy Sheet1.Range("E" & (Sheet1.Range("E65000").End(xlUp).Row + 1))
MsgBox "Da Tao Xong"
End Sub
Bạn thay sheet1,sheet2, sheet6 bằng Sheets("tên sheet")
 
Upvote 0
nhưng chổ nào để nó mở file Tong Hop để paste vào bạn
 
Upvote 0
Có thể nào cho nó copy value. ko copy công thức ko Bác.
Thanks!
Bạn sửa code của #2 như sau:
Mã:
Sub CopyDL()
  On Error Resume Next
  Dim wk As Workbook
  Dim s As Worksheet
  Dim a As Range
  Dim strPath, strFile As String
  
  Set a = Sheet1.Range("a2:E" & Sheet1.Range("B65500").End(xlUp).Row)
  strPath = ThisWorkbook.Path
  strFile = "TONG KET.xls"
  Set wk = Workbooks.Open(strPath & "\" & strFile)
  Set s = wk.Sheets("TONG KET")


[COLOR=#ff0000][B]  a.Copy[/B][/COLOR]
[COLOR=#ff0000][B]  s.Range("a65536").End(xlUp).Offset(1, 0).PasteSpecial Paste:=xlPasteValues[/B][/COLOR]
  
  Set a = Nothing
  Set s = Nothing
  
  wk.Save
  wk.Close True
  Set wk = Nothing
  
End Sub
 
Upvote 0
Các bác tạo giúp mình nút lệnh xóa dữ liệu theo điều kiện thời gian cho trước nhé.
Thanks
 

File đính kèm

Upvote 0
Các bác tạo giúp mình nút lệnh xóa dữ liệu theo điều kiện thời gian cho trước nhé.
Thanks
Bạn dùng code này
Mã:
Sub run()
Dim i As Integer
For i = Range("A" & Rows.Count).End(3).Row To 2 Step -1
    If Cells(i, 3) >= Cells(4, 7) And Cells(i, 3) <= Cells(4, 9) Then Range("A" & i & ":C" & i).Delete Shift:=xlUp
Next
End Sub
 
Upvote 0
Các bác tạo giúp mình nút lệnh xóa dữ liệu theo điều kiện thời gian cho trước nhé.
Thanks
1-Dùng advance filter lọc toàn bộ dang sách <> danh sách cần xóa
2-clear vùng dữ liệu cũ
3-copy kết quả của advance filter vào vùng vừa xóa
4-đặt lại số thứ tự
hưởng thành quả thôi+-+-+-+
 
Upvote 0
Bạn dùng code này
Mã:
Sub run()
Dim i As Integer
For i = Range("A" & Rows.Count).End(3).Row To 2 Step -1
    If Cells(i, 3) >= Cells(4, 7) And Cells(i, 3) <= Cells(4, 9) Then Range("A" & i & ":C" & i).Delete Shift:=xlUp
Next
End Sub

Bạn ơi! Do cột A mình đặt công thức tự chạy số thứ tự nên ko thể xóa cột A được. Xem lại giúm mình nhé!
Cảm ơn!
 
Upvote 0
Bạn ơi! Do cột A mình đặt công thức tự chạy số thứ tự nên ko thể xóa cột A được. Xem lại giúm mình nhé!
Cảm ơn!
Thì bạn dùng code chạy lại số thứ tự
Sub run()
Dim i As Integer
For i = Range("A" & Rows.Count).End(3).Row To 2 Step -1
If Cells(i, 3) >= Cells(4, 7) And Cells(i, 3) <= Cells(4, 9) Then Range("A" & i & ":C" & i).Delete Shift:=xlUp
Next
for i = 2 to Range("B" & Rows.Count).End(3).Row
cells(i,1) = i-1
Next

End Sub
 
Upvote 0
thì bạn dùng code chạy lại số thứ tự
end sub

bạn hổ trợ mình thêm cái này nhé.
Mình muốn sheet 2 lấy dữ liệu của sheet1 theo điều kiện ngày tháng. Nhưng code nhé. Không sử dụng hàm vì công thức sẽ bị lỗi khi mình xóa dòng.
Cám ơn!
 

File đính kèm

Upvote 0
bạn hổ trợ mình thêm cái này nhé.
Mình muốn sheet 2 lấy dữ liệu của sheet1 theo điều kiện ngày tháng. Nhưng code nhé. Không sử dụng hàm vì công thức sẽ bị lỗi khi mình xóa dòng.
Cám ơn!
Bạn xem đúng ý mình chưa, bạn tự kiểm tra nghe.
 

File đính kèm

Upvote 0
Mình có code này để lưu tên file ngày tháng, giờ mình muốn thêm giờ và phút nữa thì cần j Bác:
ActiveWorkbook.SaveAs Filename:="D:\ROOT" & Day(Date) & "-" & Month(Date) & "-" & Year(Date) & ".xlsx"
Thanks
Thêm chổ màu đỏ nè bạn.
Mã:
ActiveWorkbook.SaveAs Filename:="D:\ROOT" & Day(Date) & "-" & Month(Date) & "-" & Year(Date) & "-" [COLOR=#ff0000][B]& Replace(Time, ":", "-") [/B][/COLOR]& ".xlsx"
 
Upvote 0
Bạn xem đúng ý mình chưa, bạn tự kiểm tra nghe.
Đúng rồi Bác. Sẵn Bác cho hỏi. Từ nào giờ E toàn sử dụng cái nút để chạy lệnh. Em thấy có mấy Bác làm hay lắm.
Ví dụ cái của Em. Khi nhập dũ liệu từ ngày sau đó đến nhập dữ liệu ngày kết thúc thì code sẽ tự chạy luôn. Bác biết chỉ Em cách làm nhé.
Thanks
 
Upvote 0
Mình làm theo cái của Bạn, sau đó thêm cột và chỉnh sữa code (nhằm để hiểu cấu trúc code) nhưng ko chạy Chỉnh giúp Em sai chổ nào nhé.
Cam ơn
Bạn sửa code lại thế này.
Mã:
Sub GPE()
Dim sArr, dArr, i As Integer, k As Integer, j As Integer
sArr = Sheet1.Range("A2", Sheet1.Range("AD65000").End(xlUp)).Value
ReDim dArr(1 To UBound(sArr, 1), 1 To 30)
For i = 1 To UBound(sArr, 1)
    If sArr(i, 30) >= Sheet2.Range("AG2").Value And sArr(i, 30) <= Sheet2.Range("AI2").Value Then
          k = k + 1
          dArr(k, 1) = k
          For j = 2 To 30
            dArr(k, j) = sArr(i, j)
          Next j
     End If
Next
Sheet2.Range("A2:AD1000").ClearContents
Sheet2.Range("A2").Resize(k, 30).Value = dArr
End Sub
 
Upvote 0
Web KT

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

Back
Top Bottom