Giúp mình cách copy dữ liệu từ sheet này sang sheet khác

Khanhnkn12

Thành viên mới
Tham gia ngày
15 Tháng ba 2015
Bài viết
1
Được thích
0
Điểm
0
Đơn giản là vì họ muốn tạo sườn chung cho 1 file và file đó có nhiều sườn.
Chẳng hạn như quản lý hộ dân trong 1 khu dân cư chẳng hạn.
Lúc đó họ chỉ việc tạo khung cố định và nhập dữ liệu vào từng sheet thay cho từng hộ dân.
 

tuan.1985

Thành viên chính thức
Tham gia ngày
25 Tháng ba 2013
Bài viết
62
Được thích
2
Điểm
370
Tuổi
33
Mã:
If Not Intersect([A2:A1000], Target) Is Nothing Then    
Sheet10.Range("B65536").End(xlUp).Offset(1) = Target
  End If
End Sub
Mình dùng code này để đọc dữ liệu cột A ở sheet 1 sang cột A ở sheet 2, nhưng mỗi lần mình sửa giá trị ở cột A sheet 1 thì không tự động thay đổi ở sheet 2 mà nó nhảy xuống dưới thêm cột nữa, nhờ anh chị giúp em sao cho thay đổi giá trị ở sheet 1 thì sheet 2 tự động thay đổi theo
 
Lần chỉnh sửa cuối:

kieu manh

Thành viên gạo cội
Tham gia ngày
9 Tháng sáu 2012
Bài viết
3,317
Được thích
2,338
Điểm
560
Nơi ở
Bình Dương
Mã:
If Not Intersect([A2:A1000], Target) Is Nothing Then    
Sheet10.Range("B65536").End(xlUp).Offset(1) = Target
  End If
End Sub
Mình dùng code này để đọc dữ liệu cột A ở sheet 1 sang cột A ở sheet 2, nhưng mỗi lần mình sửa giá trị ở cột A sheet 1 thì không tự động thay đổi ở sheet 2 mà nó nhảy xuống dưới thêm cột nữa, nhờ anh chị giúp em sao cho thay đổi giá trị ở sheet 1 thì sheet 2 tự động thay đổi theo
Chép code sau vào Sheet1 trong VBA
PHP:
Private Sub Worksheet_Change(ByVal Target As Range)
    If Not Intersect([A2:A10000], Target) Is Nothing Then
        Sheet2.Range("A65536").End(xlUp).Offset(1) = Target
    End If
End Sub
 

tuan.1985

Thành viên chính thức
Tham gia ngày
25 Tháng ba 2013
Bài viết
62
Được thích
2
Điểm
370
Tuổi
33
Chép code sau vào Sheet1 trong VBA
PHP:
Private Sub Worksheet_Change(ByVal Target As Range)
    If Not Intersect([A2:A10000], Target) Is Nothing Then
        Sheet2.Range("A65536").End(xlUp).Offset(1) = Target
    End If
End Sub
Em vẫn chưa làm được
Em gửi file đính kèm, nhờ anh chị hỗ trợ giúp em với ah
 

be09

Biên Hòa - Đồng Nai
Tham gia ngày
9 Tháng tư 2011
Bài viết
7,727
Được thích
7,464
Điểm
560
Tuổi
61
Nơi ở
TP. Biên Hòa, Đồng Nai
Sao cứ thắc mắc cái việc tại sao phải copy 2 sheet giống nhau thế nhỉ? Mình xin trả lời thế này:
1. Hỏi là hỏi cách copy 2 sheet giống hệt nhau, nhưng thực tế không ai copy 2 sheet giống hệt nhau mà chỉ copy 1 phần nội dung thôi.
2. Chủ thớt muốn hỏi cách copy sheet 1 sang sheet 2, và khi thay đổi nội dung ở sheet 1 thì sheet 2 cũng thay đổi theo. Tôi nêu ra đây 1 trường hợp. Tôi làm phương án bồi thường.
- Sheet 1: Biên bản họp xét: bao gồm tất tần tật các nội dung: Đất, cây cối hoa màu, Vật kiến trúc, chính sách hỗ trợ.....
- Sheet 2: Bồi thường đất của các hộ, lấy nguyên phần đất từ sheet 1 sang.
- Sheet 3: Bồi thường cây cối hoa màu, lấy nguyên phần cây cối hoa màu từ sheet 1 sang.
..... đến hết.
- Khi nội dung họp xét thay đổi, ta chỉ cần điều chỉnh sheet 1 thì các sheet khác liên quan cũng thay đổi hết, không cần phải mò mẫm để chỉnh lại từng sheet, tránh được việc sửa sheet này mà quên sửa sheet khác (^_^).
Lâu lâu mới gặp 1 thành viên cùng ngành, cái vụ kiểm kê, áp giá thì quá là dễ đâu có gì là khó khăn, nhưng cách làm mỗi nơi mỗi khác, chẳng nơi nào giống nơi nào.

Vì vậy để các thành viên giúp được dễ dàng thì cần có File và diễn giải thật cụ thể cái mình cần làm gì, kết quả cần là sheet nào, chứ chủ Topic nêu cần Copy sheet1 sang sheet2, khi sheet1 thay đổi thì sheet2 cũng thay đổi, cái này chỉ cần dùng Link là xong, nhưng chủ Topic lại không diễn giải cụ thể cái mình cần nên mỗi người suy luận 1 kiểu, cuối cùng thì chưa giải quyết được vấn đề gì ráo.
 

comet_1701

Thành viên tích cực
Tham gia ngày
24 Tháng năm 2014
Bài viết
632
Được thích
454
Điểm
0
Tuổi
41
Em vẫn chưa làm được
Em gửi file đính kèm, nhờ anh chị hỗ trợ giúp em với ah
phải sửa thành range("A2:A1000") , nó nhảy ko đúng là do bạn đang dùng table nên khi end(xlup).offset(1) không xuống dòng cần đánh đúng mà nhảy luôn xuống dòng 25 của table
 

tuan.1985

Thành viên chính thức
Tham gia ngày
25 Tháng ba 2013
Bài viết
62
Được thích
2
Điểm
370
Tuổi
33
phải sửa thành range("A2:A1000") , nó nhảy ko đúng là do bạn đang dùng table nên khi end(xlup).offset(1) không xuống dòng cần đánh đúng mà nhảy luôn xuống dòng 25 của table
Mình cũng chưa hình dung sửa cái gì để được như ý
Mình thử thay thành range("A2:A1000") nhưng khi sửa thì vẫn xuống dòng tiếp theo
Nhờ các anh giúp với ah
 

hpkhuong

######
Tham gia ngày
20 Tháng năm 2011
Bài viết
4,604
Được thích
4,031
Điểm
560
Nơi ở
Quận 2 - TP.HCM
Lâu lâu mới gặp 1 thành viên cùng ngành, cái vụ kiểm kê, áp giá thì quá là dễ đâu có gì là khó khăn, nhưng cách làm mỗi nơi mỗi khác, chẳng nơi nào giống nơi nào.

Vì vậy để các thành viên giúp được dễ dàng thì cần có File và diễn giải thật cụ thể cái mình cần làm gì, kết quả cần là sheet nào, chứ chủ Topic nêu cần Copy sheet1 sang sheet2, khi sheet1 thay đổi thì sheet2 cũng thay đổi, cái này chỉ cần dùng Link là xong, nhưng chủ Topic lại không diễn giải cụ thể cái mình cần nên mỗi người suy luận 1 kiểu, cuối cùng thì chưa giải quyết được vấn đề gì ráo.
Bài này tận năm 2009 lận anh Be ơi...híhí...:-=:-=:-=
 

comet_1701

Thành viên tích cực
Tham gia ngày
24 Tháng năm 2014
Bài viết
632
Được thích
454
Điểm
0
Tuổi
41
Mình cũng chưa hình dung sửa cái gì để được như ý
Mình thử thay thành range("A2:A1000") nhưng khi sửa thì vẫn xuống dòng tiếp theo
Nhờ các anh giúp với ah
Mã:
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Range("A2:A1000"), Target) Is Nothing Then
    Sheet10.Range("B65536").End(xlUp).Offset(1) = Target
  End If
End Sub
Vẫn code của bạn đó, nhưng nó chỉ nhận đúng nếu bạn bỏ cái table đi. Design/ Convert to range đó.
 

tuan.1985

Thành viên chính thức
Tham gia ngày
25 Tháng ba 2013
Bài viết
62
Được thích
2
Điểm
370
Tuổi
33
Vì sheet mình làm cho cả 20 nhân viên nhập, nên phải dùng table bạn ơi
 

comet_1701

Thành viên tích cực
Tham gia ngày
24 Tháng năm 2014
Bài viết
632
Được thích
454
Điểm
0
Tuổi
41
Vì sheet mình làm cho cả 20 nhân viên nhập, nên phải dùng table bạn ơi
Với hai cái table2 và 3 này mà dùng sự kiện tôi thấy nó chả nhận (hoặc chờ thành viên khác), ko thử nghĩ hướng khác copy paste xem sao.
Mã:
Sub Copy()
    Sheets("RU").Select
    Range("Table2[STT]").Copy
    Sheets("PU").Select
    Range("B2").Select
    ActiveSheet.Paste
 
    Application.CutCopyMode = False
End Sub
P/S: Bạn nói tôi chả hiểu lắm. Bên bạn có chia sẻ dữ liệu Excel qua mạng ko giống như phân quyền kiểu phần mềm, và Table2 và Table3 đó là do ai nhập. vì tôi nghĩ nếu bạn ko nêu cụ thể thì khó ai hình dung hết được yêu cầu của bạn, thấy mơ hồ lắm hoặc tôi không hiểu. số thứ tự hai cột A ở hai table phải luôn giống nhau đúng ko?
 
Lần chỉnh sửa cuối:

tuan.1985

Thành viên chính thức
Tham gia ngày
25 Tháng ba 2013
Bài viết
62
Được thích
2
Điểm
370
Tuổi
33
nói thiệt mình cũng hok rành lắm VBA
thiết nghĩ dùng table như vậy khi sum thì dùng rang name tiện hơn
Mình làm file tổng như vậy tách ra 20 file cho 20 bạn nhập rồi tổng hợp lại để mình theo dõi, có người nhập ít có người nhập nhiều nên dùng table, không biết còn cách nào hay xin các anh chị chỉ mình với ah
 

hpkhuong

######
Tham gia ngày
20 Tháng năm 2011
Bài viết
4,604
Được thích
4,031
Điểm
560
Nơi ở
Quận 2 - TP.HCM
nói thiệt mình cũng hok rành lắm VBA
thiết nghĩ dùng table như vậy khi sum thì dùng rang name tiện hơn
Mình làm file tổng như vậy tách ra 20 file cho 20 bạn nhập rồi tổng hợp lại để mình theo dõi, có người nhập ít có người nhập nhiều nên dùng table, không biết còn cách nào hay xin các anh chị chỉ mình với ah
Sao bạn cứ lăng tăng cái vụ phải dùng Table để nhập, thì nhập trên Range bình thường có chết thằng TÂY nào đâu??? Exel có cả hơn 1 triệu dòng cơ mà....
 

tuan.1985

Thành viên chính thức
Tham gia ngày
25 Tháng ba 2013
Bài viết
62
Được thích
2
Điểm
370
Tuổi
33
Sao bạn cứ lăng tăng cái vụ phải dùng Table để nhập, thì nhập trên Range bình thường có chết thằng TÂY nào đâu??? Exel có cả hơn 1 triệu dòng cơ mà....
sở dĩ e dùng table là vì trong các trường thông tin e có dùng các công thức trong đó nên dùng table để nó tự động ăn theo chứ mình kg phải kéo đến cuối dòng
Giờ chắc mày mò rồi thình giáo anh chị thêm các code cho tiện ah
 

kbw1

Thành viên tích cực
Tham gia ngày
8 Tháng mười một 2013
Bài viết
744
Được thích
175
Điểm
420
sở dĩ e dùng table là vì trong các trường thông tin e có dùng các công thức trong đó nên dùng table để nó tự động ăn theo chứ mình kg phải kéo đến cuối dòng
Giờ chắc mày mò rồi thình giáo anh chị thêm các code cho tiện ah
Cái Table này nếu dữ liệu ít ko nên dùng.
Tính năng của nó là dùng cho phạm vi rộng.
Chứ nhỏ quá nó thành cồng kềnh và loằng ngoằng.
 

tuan.1985

Thành viên chính thức
Tham gia ngày
25 Tháng ba 2013
Bài viết
62
Được thích
2
Điểm
370
Tuổi
33
mình làm file này share cho 20 bạn mỗi bạn ít nhất phải nghìn dòng bạn ơi
 

tranpro

Thành viên mới
Tham gia ngày
18 Tháng hai 2011
Bài viết
45
Được thích
4
Điểm
0
Tôi vẫn không tài nào hiểu nổi tại sao có rất nhiều người có nhu cầu copy sheet2 y chang sheet1 thế nhỉ?
Nếu đã muốn y chang sao không dùng chuột nắm thằng em sheet tab, bấm giữ Ctrl rồi kéo 1 nhát là xong!
Nhưng vẫn quay lại thắc mắc đầu tiên: 2 sheet giống nhau nhằm mục đích gì?
Người ta hỏi để copy 2 sheet để mục đích sửa trên sheet 2, dựa trên 1 số mục công việc có trên sheet 1 chẳng hạn, người làm báo giá xanh đỏ hay làm thế bác ơi :v
 

dinhhiep36

Thành viên mới
Tham gia ngày
21 Tháng tư 2015
Bài viết
1
Được thích
0
Điểm
0
Tuổi
30
Tôi vẫn không tài nào hiểu nổi tại sao có rất nhiều người có nhu cầu copy sheet2 y chang sheet1 thế nhỉ?
Nếu đã muốn y chang sao không dùng chuột nắm thằng em sheet tab, bấm giữ Ctrl rồi kéo 1 nhát là xong!
Nhưng vẫn quay lại thắc mắc đầu tiên: 2 sheet giống nhau nhằm mục đích gì?
Sheet 1: là tổng đại lý
Sheet 2=>10: là các đại lý con.

Giờ tổng đại lý muốn trích xuất dữ liệu từ các đại lý con thì làm sao bác ? Phải có lý do của nó chứ
 

leafngueyn

Thành viên mới
Tham gia ngày
15 Tháng tư 2016
Bài viết
9
Được thích
0
Điểm
163
Tuổi
29
Dùng cách đơn giản nhất là tại A1 sheet2 bạn nhập là
=Sheet1!A1
Copy A1 của Sh2 và dán hết phạm vi mà dữ liệu bên sh 1 bạn có.
Cách này là hợp lí nhất, nhưng trớ trui thay, sheet1 của tôi có tên là Update, nên tôi tui làm =update!A1, thì Excel yêu cầu chỉ ra file cần update, vấn làm được nhưng phải trải qua mấy bước. Nếu như Sheet1 ko có tên là Update thì làm như thế, enter 1 phát làm xong.

Ai có thể giúp tôi trong trường hợp này ko
 
Top