Copy dữ liệu các sheet (1 người xem)

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

tiendun9

Thành viên mới
Tham gia
3/5/12
Bài viết
12
Được thích
0
Mình có file excel với nội dung như trong file đính kèm.
Bình thường mình phải copy dữ liệu ở cột 1 của tất cả các sheet sang phần mềm khác (Origin) hơn 100sheet.
Nhờ các bạn giúp mình tạo macro hay bằng cách nào đó để copy tất cả dữ liệu ở cột 1 của các sheet vào một sheet để mình có thể copy qua phần mềm khác (Origin) nhanh chóng với.
nếu phải add code vba j đó thì các bạn chỉ mình luôn cách add nhé :( or cho mình xin link hướng dẫn với. (mình dùng office 2013)
thank u so much!!!
 

File đính kèm

copy tất cả dữ liệu ở cột 1 của các sheet vào một sheet ...
chào bạn,
- khi copy từ file này qua PM Origin thì điều kiện của các cột (trường) là như thế nào vậy? (vì tổng hợp thường có 2 dạng: ngang và dọc)
- nếu được bạn thiết kế sẵn cái Form của sheet TongHop đó để mọi người dễ hình dung hơn?
 
Mình có file excel với nội dung như trong file đính kèm.
Bình thường mình phải copy dữ liệu ở cột 1 của tất cả các sheet sang phần mềm khác (Origin) hơn 100sheet.
Nhờ các bạn giúp mình tạo macro hay bằng cách nào đó để copy tất cả dữ liệu ở cột 1 của các sheet vào một sheet để mình có thể copy qua phần mềm khác (Origin) nhanh chóng với.
nếu phải add code vba j đó thì các bạn chỉ mình luôn cách add nhé :( or cho mình xin link hướng dẫn với. (mình dùng office 2013)
thank u so much!!!

insert thêm một sheet (kiểm tra trong cửa sổ vba xem nó có phải là sheet1 ko nha)
code như sau
Mã:
Sub CopyFirstCol()

Dim sh As Worksheet
For Each sh In Worksheets
If sh.Index <> 1 Then
    [a1].Offset(, i) = sh.Name
    [a2].Resize(sh.[a10000].End(3).Row).Offset(, i).Value = sh.[a2].Resize(sh.[a10000].End(3).Row).Value
    '[a2:a503].Offset(, i).Value = sh.[a2:a503].Value 'nếu các sheet của bạn đều giống nhau từ a2 đến a503 thì xài lệnh này
    i = i + 1
End If
Next

End Sub
 
form mình làm trong sheet 1 bạn coi giúp mình với.
chào bạn,
- khi copy từ file này qua PM Origin thì điều kiện của các cột (trường) là như thế nào vậy? (vì tổng hợp thường có 2 dạng: ngang và dọc)
- nếu được bạn thiết kế sẵn cái Form của sheet TongHop đó để mọi người dễ hình dung hơn?
 

File đính kèm

mình làm như bạn chỉ mà k được bạn làm mẫu trên file mình đính kèm rùi gửi lên mình xem được k.
thanks!
Enable Macros khi mở file. Click chuột trái vào hình màu. Xem kết quả có đúng ý muốn không.
Híc! File gì mà hơn 100 sheet, hao tài khoản.
 

File đính kèm

Lần chỉnh sửa cuối:
cảm ơn Thánh excel Ba Tê rất nhiều!!!
giờ mình muốn áp dụng nó cho các file khác thì làm sao Thánh?
Cái gì vậy "Chời". Thánh gì ở đây?
Diễn đàn là nơi công cộng, xưng hô cẩn thận một chút.
1/ Muốn áp dụng cho file khác thì phải biết "file khác" đó ra sao mới trả lời cho bạn được.
Ví dụ, cấu trúc các sheet Cycle trong file khác đó có hoàn toàn giống với file này không? Tên các sheet có phải bắt đầu bằng chữ "Cycle" không? Số lượng các sheet "Cycle" có hơn 100 không? vân vân và vân vân...
Hoặc
2/ Nghiên cứu thêm về VBA để hiểu được các câu lệnh của code, sửa lại theo ý mình.
Hoặc
3/ Muốn giúp file nào thì gởi đúng file đó lên nhờ các bạn GPE làm giúp.
..............
 
Cái gì vậy "Chời". Thánh gì ở đây?
..............
Cảm ơn bạn!
Mình có hàng trăm file nên k tiện để nhờ mọi người.
các file của mình chỉ khác nhau về số sheet và số dòng trong 1 sheet
mình đã áp dụng "GPE" này cho file khác bằng cách:
1. copy sheet GPE của bạn qua file mới.
2. import Module. ( export ra từ file của bạn)
3. edit lại số sheet.
4. assign macro lại cho hình màu xanh.

mình kiểm tra kết quả thấy ok.

bạn có cách nào khác nhanh hơn chỉ mình với.
Thank u so much!!!
 
Cảm ơn bạn!
Mình có hàng trăm file nên k tiện để nhờ mọi người.
các file của mình chỉ khác nhau về số sheet và số dòng trong 1 sheet
mình đã áp dụng "GPE" này cho file khác bằng cách:
1. copy sheet GPE của bạn qua file mới.
2. import Module. ( export ra từ file của bạn)
3. edit lại số sheet.
4. assign macro lại cho hình màu xanh.

mình kiểm tra kết quả thấy ok.

bạn có cách nào khác nhanh hơn chỉ mình với.
Thank u so much!!!
OK là được rồi, các bước làm cũng vậy thôi.
- Tạo 1 Module trong file mới.
- Copy Sub từ file này sang file kia
- Tạo thêm sheet GPE, tạo nút bấm bằng cái gì đó, gán Macro cho nó.
- Thay 3 dòng này cho 2 dòng đầu của sub cũ:
[GPECODE=vb]Dim Ws As Worksheet, sArr(), dArr(), I As Long, ShName As String, R As Long, N As Long, C As Long
C = ThisWorkbook.Worksheets.Count
ReDim dArr(1 To 1000, 1 To C)[/GPECODE]
Trong đó, số 1000 bạn phải chỉnh lại cho hợp với số dòng tối đa có thể có của các sheet, còn số lượng sheet thì không cần khai báo lại cho từng file.
PHP:
Thank u so much!!!
Nếu bạn viết được "Cảm ơn" thì tốt, nếu không thì chỉ cần bấm vào nút Cảm ơn là được rồi.
 
Lần chỉnh sửa cuối:
Mình hiểu vấn đề rồi. Cảm ơn bạn nhiều !
Chúc bạn cuối tuần vui vẻ !
 
OK là được rồi, các bước làm cũng vậy thôi.
- Tạo 1 Module trong file mới.
- Copy Sub từ file này sang file kia
- Tạo thêm sheet GPE, tạo nút bấm bằng cái gì đó, gán Macro cho nó.
- Thay 3 dòng này cho 2 dòng đầu của sub cũ:
[GPECODE=vb]Dim Ws As Worksheet, sArr(), dArr(), I As Long, ShName As String, R As Long, N As Long, C As Long
C = ThisWorkbook.Worksheets.Count
ReDim dArr(1 To 1000, 1 To C)[/GPECODE]
Trong đó, số 1000 bạn phải chỉnh lại cho hợp với số dòng tối đa có thể có của các sheet, còn số lượng sheet thì không cần khai báo lại cho từng file.
PHP:
Thank u so much!!!
Nếu bạn viết được "Cảm ơn" thì tốt, nếu không thì chỉ cần bấm vào nút Cảm ơn là được rồi.

Mình hiểu vấn đề rồi. Cảm ơn bạn nhiều !
Chúc bạn cuối tuần vui vẻ !
 

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

Back
Top Bottom