Nhờ giúp đỡ về copy tự động sheet này qua sheet khác (1 người xem)

Liên hệ QC

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

ngoclam1088

Thành viên mới
Tham gia
24/3/08
Bài viết
19
Được thích
2
Tôi có 3 sheet là tên là 10A1,10A2,10A3 ở trạng thái rỗng và một sheet tên là Tonghop.
Tại ô I3 mình gõ vào là 10A1, lúc đó tất cả các dữ liệu ở sheet Tonghop sẽ được copy sang sheet 10A1.
Tương tự nếu mình thay là 10A2 thì tất cả các dữ liệu ở sheet sẽ copy sang sheet 10A2.
Vậy có thể lập Macro hay viết lệnh VBA để giải quyết vấn đề trên ko?
Trong quá trình nghiên cứu mình bị bế tắc ở chỗ làm sao để so sánh tên ở trên ô I3 và tên của các sheet trong Wordbook. Nhờ các bạn chỉ giúp mình với.
 
Tôi có 3 sheet là tên là 10A1,10A2,10A3 ở trạng thái rỗng và một sheet tên là Tonghop.
Tại ô I3 mình gõ vào là 10A1, lúc đó tất cả các dữ liệu ở sheet Tonghop sẽ được copy sang sheet 10A1.
Tương tự nếu mình thay là 10A2 thì tất cả các dữ liệu ở sheet sẽ copy sang sheet 10A2.
Vậy có thể lập Macro hay viết lệnh VBA để giải quyết vấn đề trên ko?
Trong quá trình nghiên cứu mình bị bế tắc ở chỗ làm sao để so sánh tên ở trên ô I3 và tên của các sheet trong Wordbook. Nhờ các bạn chỉ giúp mình với.
Chẳng có gì là bế tắc đâu, bạn đưa file lên đây, nói rõ yêu cầu, có minh họa càng tốt, mồi điếu thuốc (nếu biết hút), hút xong là có bài giải của ....Thầy Ptm ngay thôi mà
Mấy cái "zụ" này là "chiện nhỏ"
Hihi
 
Upvote 0
Tôi có 3 sheet là tên là 10A1,10A2,10A3 ở trạng thái rỗng và một sheet tên là Tonghop.
Tại ô I3 mình gõ vào là 10A1, lúc đó tất cả các dữ liệu ở sheet Tonghop sẽ được copy sang sheet 10A1.
Tương tự nếu mình thay là 10A2 thì tất cả các dữ liệu ở sheet sẽ copy sang sheet 10A2.
Vậy có thể lập Macro hay viết lệnh VBA để giải quyết vấn đề trên ko?
Trong quá trình nghiên cứu mình bị bế tắc ở chỗ làm sao để so sánh tên ở trên ô I3 và tên của các sheet trong Wordbook. Nhờ các bạn chỉ giúp mình với.

1. Vì bạn không gửi File nên không thể giúp bạn được (mình rất ngại làm file ví dụ).
2. Muốn lấy tên Sheets theo tên tại ô I3 của Sheets("Tong Hop") bạn xem ví dụ sau:
PHP:
Sub Macro1()
tmp = Sheets("Tong Hop").[i3]
Sheets(tmp).Select
End Sub
 
Lần chỉnh sửa cuối:
Upvote 0
Hay quá. THiệt là đúng là may mà có cao thủ giúp đỡ. Mình gửi file nhờ các bạn giúp mình với nhé. Cảm ơn các bạn nhiều lắm.
Mình tải trực tiếp lên diễn đàn không được. Đành nhờ các bạn tải từ mediafire nhé
http://www.mediafire.com/?gjmmm3iy2ne
 
Upvote 0
Bạn xài cái ni nha

PHP:
Private Sub Worksheet_Change(ByVal Target As Range)
 If Not Intersect(Target, [i3]) Is Nothing Then
    ActiveSheet.UsedRange.Copy Destination:=Sheets([i3].Value).[A1]
 End If
End Sub

Cách thức:

Fải chuột lên tên trang tính "XepLoai" của thanh SheetName (Nằm trái dưới của màn hình); Trong danh sách vừa xuất hiện ta chọn dòng cuối, sẽ xuất hiện cửa sổ VBA của trang này; Bạn Copy đoạn code trên & dán vô CS vừa nói.

Sau đó chọn thừ tại [I3] & chúc thành công - vui vẻ.
 
Upvote 0
2. Muốn lấy tên Sheets theo tên tại ô I3 của Sheets("Tong Hop") bạn xem ví dụ sau:
PHP:
Sub Macro1()
tmp = Sheets("Tong Hop").[i3]
Sheets(tmp).Select
End Sub
---
Sao em làm theo hướng dẫn của anh thì cứ bị báo lỗi chổ dòng
Sheets(tmp).Select
Nhờ anh xem và hướng dẫn %#^#$
 
Lần chỉnh sửa cuối:
Upvote 0
---
Sao em làm theo hướng dẫn của anh thì cứ bị báo lỗi chổ dòng
Sheets(tmp).Select
Nhờ anh xem và hướng dẫn %#^#$

Tranh thủ cái:

Để biết tại sao báo lỗi, cách tiện nhứt, theo tôi là:

Trước dòng báo lỗi ta truy xem biến Tmp đó đang chứa gì;

Đó là dòng lệnh cần thêm zô:

PHP:
   MsgBox Tmp, , "GPE xin hỏi"


Khà, khà,. . . .
 
Upvote 0
Tranh thủ cái:

Để biết tại sao báo lỗi, cách tiện nhứt, theo tôi là:

Trước dòng báo lỗi ta truy xem biến Tmp đó đang chứa gì;

Đó là dòng lệnh cần thêm zô:

PHP:
   MsgBox Tmp, , "GPE xin hỏi"


Khà, khà,. . . .
---
Không hiểu anh ChanhTQ@ ơi, dẫn đường giúp đi.
 
Upvote 0
---
Sao em làm theo hướng dẫn của anh thì cứ bị báo lỗi chổ dòng
Sheets(tmp).Select
Nhờ anh xem và hướng dẫn %#^#$

Lối này thường là không tìm thấy Sheets có tên như giá trị trong biến Tmp. Muốn biết Tmp chứa cái gì làm như ChanhTQ@
 

File đính kèm

Upvote 0
Lối này thường là không tìm thấy Sheets có tên như giá trị trong biến Tmp. Muốn biết Tmp chứa cái gì làm như ChanhTQ@
---
Đã làm theo anh ChanhTQ@ và anh Trung Chinh, nhưng vẫn không hiểu sao vẫn báo lỗi. Nhờ các anh xem giúp, file đính kèm. Cám ơn
 

File đính kèm

Upvote 0
---
Đã làm theo anh ChanhTQ@ và anh Trung Chinh, nhưng vẫn không hiểu sao vẫn báo lỗi. Nhờ các anh xem giúp, file đính kèm. Cám ơn

Lỗi vì bạn để tên sheet là kiểu số (Number) bạn sửa lại tên sheets là kiểu Text - Ví dụ: '641 hoặc a641 là OK
 
Upvote 0
Tên sheet yêu cầu là text, trong khi đó ô I3 = 641 dạng số nên lỗi là phải.
Cách 1: Khai báo Dim tmp As String
Cách 2: tmp = CStr([I3])
 
Upvote 0
Web KT

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

Back
Top Bottom