Nhờ mọi người sửa code copy và paste với các dòng không ẩn. (1 người xem)

Liên hệ QC

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

khanhcang2

Thành viên chính thức
Tham gia
5/6/12
Bài viết
89
Được thích
23
Em sưu tầm trên GPE được đoạn code này:
Sub Paste_to_Visible_Rows()
Dim Nguon As Range, Dich As Range
Dim i As Long, r As Long
Set Nguon = Application.InputBox(prompt:="Chon Vung Copy ", Type:=8)
Set Dich = Application.InputBox(prompt:="Chep Den: (luu y: chi chon 1 o dau tien cua vùng can dán nhé: ", Type:=8)
For i = 1 To Nguon.Rows.Count
Do Until Not Dich.Offset(r).Rows.Hidden
r = r + 1
Loop
Nguon.Rows(i).Copy Destination:=Dich.Offset(r)
r = r + 1
Next i
End Sub
- Em muốn nhờ các anh chị sửa để có thể dùng code này paste địa chỉ các ô copy sang vị trí các ô paste
 

File đính kèm

Em sưu tầm trên GPE được đoạn code này:
Sub Paste_to_Visible_Rows()
Dim Nguon As Range, Dich As Range
Dim i As Long, r As Long
Set Nguon = Application.InputBox(prompt:="Chon Vung Copy ", Type:=8)
Set Dich = Application.InputBox(prompt:="Chep Den: (luu y: chi chon 1 o dau tien cua vùng can dán nhé: ", Type:=8)
For i = 1 To Nguon.Rows.Count
Do Until Not Dich.Offset(r).Rows.Hidden
r = r + 1
Loop
Nguon.Rows(i).Copy Destination:=Dich.Offset(r)
r = r + 1
Next i
End Sub
- Em muốn nhờ các anh chị sửa để có thể dùng code này paste địa chỉ các ô copy sang vị trí các ô paste

Bạn dùng thử file này
Cách dùng:
Quét chọn vùng cần copy
Bấm chuột phải, chọn MyCopy
Chuyển sang vùng cần dán, bấm chuột phải và chọn lệnh PasteToVisibleCells
 

File đính kèm

Upvote 0
Bạn dùng thử file này
Cách dùng:
Quét chọn vùng cần copy
Bấm chuột phải, chọn MyCopy
Chuyển sang vùng cần dán, bấm chuột phải và chọn lệnh PasteToVisibleCells
Em cảm ơn anh. Em muốn ở vùng paste nó hiện ở dạng link đến cell ở vùng copy để khi em thay đổi dữ liệu ở vùng copy thì ở vùng paste cũng tự động update được dữ liệu ấy ạ.
 
Upvote 0
Em cảm ơn anh. Em muốn ở vùng paste nó hiện ở dạng link đến cell ở vùng copy để khi em thay đổi dữ liệu ở vùng copy thì ở vùng paste cũng tự động update được dữ liệu ấy ạ.
Vậy thử tiếp file này
Cách sử dụng vẫn thế
 

File đính kèm

Upvote 0
Anh quanghai1969 xem giúp em để có thể sử dụng file trên khi copy từ sheet này sang sheet khác với ạ!
 
Upvote 0

File đính kèm

Upvote 0
--=0--=0, Chán thật! Hết rồi anh ah, từ file excel này sang file excel khác cũng được luôn mới khổ!
 
Upvote 0
Để không phải mở file lên mà vẫn có thể sử dụng lệnh MyCopy thì bạn phải lưu file lại dưới dạng Addin (.xla), cài addin này vào hệ thống excel thì có thể dùng bất kỳ lúc nào.
.......................
Thắc mắc gì cứ việc hỏi ở đây cho nhiều người cùng tham khảo nha.
 
Upvote 0
Anh Quanghai1969 có thể giúp em mở rộng vùng "Mycopy" chỉ làm việc với vùng không ẩn được không ạ! Em cảm ơn anh!

Thay code này vào Sub cũ. Nếu hên thì trúng, trật thì thôi nha. Bận quá.
PHP:
Sub MyCopy()
Dim i&, j&, ii&, jj&, tam()
tam = Selection.Value
For i = 1 To Selection.Rows.Count
   jj = 0
   If Selection(i, j).EntireRow.Hidden = False Then ii = ii + 1
   For j = 1 To Selection.Columns.Count
      If Selection(i, j).EntireColumn.Hidden = False Then jj = jj + 1
      tam(ii, jj) = Selection(i, j).Address(0, 0, 1, 1)
   Next
Next
ReDim data(1 To ii, 1 To jj)
For i = 1 To ii
   For j = 1 To jj
      data(i, j) = tam(i, j)
   Next
Next
End Sub
 
Upvote 0
Thay code này vào Sub cũ. Nếu hên thì trúng, trật thì thôi nha. Bận quá.
PHP:
Sub MyCopy()
Dim i&, j&, ii&, jj&, tam()
tam = Selection.Value
For i = 1 To Selection.Rows.Count
   jj = 0
   If Selection(i, j).EntireRow.Hidden = False Then ii = ii + 1
   For j = 1 To Selection.Columns.Count
      If Selection(i, j).EntireColumn.Hidden = False Then jj = jj + 1
      tam(ii, jj) = Selection(i, j).Address(0, 0, 1, 1)
   Next
Next
ReDim data(1 To ii, 1 To jj)
For i = 1 To ii
   For j = 1 To jj
      data(i, j) = tam(i, j)
   Next
Next
End Sub
anh Quang Hải và mọi người giúp em sửa đoạn code trên để có thể copy chỉ với dòng không ẩn với ạ!
 
Lần chỉnh sửa cuối:
Upvote 0
Copy những dòng không ẩn thì cứ Ctrl + C copy bình thường thôi, code làm gì chứ?
Do em thường xuyên phải làm việc với 2 bảng tính mà các dòng tương ứng sắp xếp rất lộn xộn. Chỉ khi em ẩn các dòng không liên quan và sử dụng sao chép và dán mới thuận tiện được. Lệnh copy bình thường thì không dán theo kiểu dạng "link" dữ liệu được và đồng thời không thuận tiện khi chứa các dòng ở dạng "ẩn" thưa thầy.
 
Upvote 0
Copy những dòng không ẩn thì cứ Ctrl + C copy bình thường thôi, code làm gì chứ?

ý bạn ấy muốn Copy những dòng không bị ẩn sang sheet khác thầy ạ
Trong thực tế em cũng thường hay phải link dữ liệu kiểu ấy
Em cung cần code tương tự nhưng chỉ copy những dòng nhìn thấy khi lọc bằng autofilter
 
Upvote 0
ý bạn ấy muốn Copy những dòng không bị ẩn sang sheet khác thầy ạ
Trong thực tế em cũng thường hay phải link dữ liệu kiểu ấy
Em cung cần code tương tự nhưng chỉ copy những dòng nhìn thấy khi lọc bằng autofilter

Sau khi Filter xong, ta bấm Ctrl + C thì nó sẽ copy những dòng không ẩn chứ có copy dòng ẩn bao giờ đâu chứ
Vậy nên việc copy visible cell là chuyện không cần phải dùng đến code
 
Upvote 0
Sau khi Filter xong, ta bấm Ctrl + C thì nó sẽ copy những dòng không ẩn chứ có copy dòng ẩn bao giờ đâu chứ
Vậy nên việc copy visible cell là chuyện không cần phải dùng đến code

Tâm lý của người xin code là bấm "nút gì đó" là xong. Không cần phải học hỏi gì thêm về cách "copy visible cells". Bời vì copy visible cells cần đến 2 động tác bấm.
Cứ hỏi là có người viết code giùm, tội gì phải siêng?
 
Upvote 0
Tâm lý của người xin code là bấm "nút gì đó" là xong. Không cần phải học hỏi gì thêm về cách "copy visible cells". Bời vì copy visible cells cần đến 2 động tác bấm.
Cứ hỏi là có người viết code giùm, tội gì phải siêng?
Anh VetMini giống Gia Cát Khổng Minh quá ạ. Đúng là em cũng muốn lười - và đoạn code này có lẽ chỉ giúp được công việc của em --=0. Em có biết sử dụng "Copy visible cells". Vấn đề của em là nếu chỉ sử dụng Copy visible cells thì không paste được dưới dạng tham chiếu đến giống như đoạn code thầy Quang Hải đã giúp đỡ em. Đoạn code ở bài #7 thực sự đã giúp em giảm được rất nhiều thời gian. Nhưng lười lại càng muốn lười hơn. Mong muốn của em là có thể sử dụng copy và paste ở 2 bảng tính đều chứa những dòng ẩn. Ví dụ: Copy cells A1 và A5 ở sheet 1, paste vào cells B9 và B11 ở sheet 2. Kết quả là B9 = sheet1!A1 và B11=sheet1!A5. Cảm ơn KhanhChi29 cũng có mong muốn giống mình!
 
Upvote 0

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

Back
Top Bottom