letinnghia
Thành viên hoạt động



- Tham gia
- 20/4/11
- Bài viết
- 183
- Được thích
- 20
Bạn có thể gửi lại File và nói rõ hơn là lấy từ 3 sheet A, B, C đưa vào Sheet tổng hợp thì đưa vào như thế nào?Các bạn vui lòng viết code giúp mình như yêu cầu trong file đính kèm.
Code thế này chẳng hạn:Sheet"A" Lấy dữ liệu các cột C5, E5, G5, I5 trở xuống qua Sheet "Tong Hop" vào các cột tương ứng là D5, E5, F5, G5. Sau đó qua Sheet "B" lấy dữ liệu các cột E5, G5, I5, M5 qua Sheet "Tong Hop" và các cột tương ứng nhu trên nhưng phải tiếp theo phần dữ liệu của Sheet "A" đã đưa qua. Sau đó tới Sheet "C" lấy dữ liệu các cột C5, G5, I5, K5 qua Sheet "Tong Hop" vào các cột tương ứng như trên nhưng phải tiếp theo dữ liệu của Sheet "A", "B" đã đưa qua. Cuối cùng đóng khung toàn bộ dữ liệu. Toàn bộ dữ liệu trong Sheet "Tong Hop" từ dòng A5 trở xuống xử dụng Font chữ "Courier New" Size 10 riêng cột G5 trở xuống dùng Size chữ 14 màu đỏ, chữ đậm.
1. Bạn nhìn vào dòng lệnh thứ 23 (.[A5:I30000].Clear) sẽ thấy chỉ các cột A:I mới bị xóa dữ liệu chứ không xóa dữ liệu ở các cột J, K.Cảm ơn bạn nhiều! Ở Sheet "Tong Hop" mình muốn đóng khung tới cột K từ dòng số 4 trở xuống thì phải làm sao? Cột J, K không xóa dữ liệu.
Anh phúc và BQT cho em chen ngang 1 chút ạ:1. Bạn nhìn vào dòng lệnh thứ 23 (.[A5:I30000].Clear) sẽ thấy chỉ các cột A:I mới bị xóa dữ liệu chứ không xóa dữ liệu ở các cột J, K.
2. Muốn đóng khung từ dòng số 4 trở xuống thì bạn thêm vào sau dòng lệnh thứ 34 (giữa 2 dòng lệnh EndWith) một lệnh này nữa: .[A4:K4].Borders.LineStyle = 1 (có thể thay cột K bởi cột khác cho phù hợp). Hoặc cũng có thể bỏ dòng lệnh thứ 26 rồi thêm dòng lệnh này vào sau dòng lệnh 34: .[A4].Resize(k+1, 11).Borders.LineStyle = 1 (số 11 có thể thay bởi số khác cho phù hợp).
Bạn có thể dịch trực tiếp Resize nghĩa là gì thì phương thức Resize trong VBA cũng có ý nghĩa hoàn toàn tương tự như vậy. Rng.Resize(m, n) có thể hiểu là một vùng được điều chỉnh kích thước từ vùng Rng, thành m hàng và n cột. Chẳng hạn: [A4].Resize(2,3) là vùng mở rộng từ A4 thành 2 hàng và 3 cột, tức là vùng A4:C5; hoặc [A4:Z100].Resize(1,4) là vùng điều chỉnh kích thước vùng A4:Z100 thành 1 dòng, 4 cột, tức là vùng A4Anh phúc và BQT cho em chen ngang 1 chút ạ:
Em thấy anh và trong 1 số code khác em đọc hay thấy có lệnh Resize, ví dụ: .[A4].Resize(k+1,11).Borders.LineStyle = 1
Anh có thể giải thích giúp em ý nghĩa của lệnh này và khi nào thì sử dụng đến nó không ạ?
Cảm ơn anh đã giải thích rất tỉ mỉ cho em ạ. Anh ơi nếu không dùng Resize thì mình có thể gán trực tiếp không anh?Bạn có thể dịch trực tiếp Resize nghĩa là gì thì phương thức Resize trong VBA cũng có ý nghĩa hoàn toàn tương tự như vậy. Rng.Resize(m, n) có thể hiểu là một vùng được điều chỉnh kích thước từ vùng Rng, thành m hàng và n cột. Chẳng hạn: [A4].Resize(2,3) là vùng mở rộng từ A4 thành 2 hàng và 3 cột, tức là vùng A4:C5; hoặc [A4:Z100].Resize(1,4) là vùng điều chỉnh kích thước vùng A4:Z100 thành 1 dòng, 4 cột, tức là vùng A44, v.v...
Câu hỏi thứ nhất: Tất nhiên là được, bởi vì 2 vùng đó thực chất là một.Cảm ơn anh đã giải thích rất tỉ mỉ cho em ạ. Anh ơi nếu không dùng Resize thì mình có thể gán trực tiếp không anh?
Ví dụ thay vì dùng:[A4].Resize(2,3).select mình có thể thay bằng .Range("A4:C5").select được không ạ? Và dùng Resize có lợi gì hơn không ạ???
Cảm ơn "Thầy" vậy là em đã hiểu được phần nào rồi!!!Câu hỏi thứ nhất: Tất nhiên là được, bởi vì 2 vùng đó thực chất là một.
Câu hỏi thứ hai: Resize sử dụng trong trường hợp địa chỉ vùng chưa xác định rõ được từ trước mà số hàng hoặc số cột được biết sau khi tính toán. Ví dụ cụ thể như ở code của tôi trong bài #4, rõ ràng gán .[A5].Resize(k, 9).Value = Arr dễ chịu hơn là gán .Range("A5:I" & k - 4).Value = Arr.
Và thực ra thì việc dùng cách nào cũng có thể nói là do thói quen của từng người chứ không áp đặt được.
Mà chúng ta bàn đến đó thôi, nói thêm nữa là ngày càng loãng đề tài đấy. Có vấn đề gì thắc mắc mà không liên quan đến chủ đề này, chúng ta nên trao đổi ở Trung tâm giải thích code nhé.Cảm ơn "Thầy" vậy là em đã hiểu được phần nào rồi!!!
Anh cho em hỏi một chút về lệnh này với ạ:Code thế này chẳng hạn:
[GPECODE=vb]Sub TongHop()
Dim Tmp, Arr(), i As Long, k As Long
ReDim Arr(1 To 30000, 1 To 9)
Tmp = Sheets("A").[C5:I10000]
For i = 1 To UBound(Tmp)
If IsEmpty(Tmp(i, 1)) Then Exit For
k = k + 1
Arr(k, 1) = k: Arr(k, 4) = Tmp(i, 1): Arr(k, 5) = Tmp(i, 3): Arr(k, 6) = Tmp(i, 5): Arr(k, 7) = Tmp(i, 7)
Next
Tmp = Sheets("B").[E5:M10000]
For i = 1 To UBound(Tmp)
If IsEmpty(Tmp(i, 1)) Then Exit For
k = k + 1
Arr(k, 1) = k: Arr(k, 4) = Tmp(i, 1): Arr(k, 5) = Tmp(i, 3): Arr(k, 6) = Tmp(i, 5): Arr(k, 7) = Tmp(i, 9)
Next
Tmp = Sheets("C").[C5:K10000]
For i = 1 To UBound(Tmp)
If IsEmpty(Tmp(i, 1)) Then Exit For
k = k + 1
Arr(k, 1) = k: Arr(k, 4) = Tmp(i, 1): Arr(k, 5) = Tmp(i, 5): Arr(k, 6) = Tmp(i, 7): Arr(k, 7) = Tmp(i, 9)
Next
With Sheets("Tong Hop")
.[A5:I30000].Clear
With .[A5].Resize(k, 9)
.Value = Arr
.Borders.LineStyle = 1
.Font.Name = "Courier New"
.Font.Size = 10
End With
With .[G5].Resize(k)
.Font.Size = 14
.Font.Bold = True
.Font.ColorIndex = 3
End With
End With
End Sub[/GPECODE]
Riêng vùng cần định dạng chữ đỏ, đậm, ở đây thì bạn nói cột G, trong file thì bạn lại nói là từ cột H, hiện tại tôi chọn cột G, nếu bạn thay đổi thì sửa lại dòng lệnh thứ 30 nhé.
Cái con số 30000 đó là tôi ước lượng (có dư) để phòng hờ như vậy thôi, có 3 sheet, mỗi sheet có lấy gần 10000 dòng nên mảng này tôi để ban đầu là 30000, nhưng thực tế sau khi chạy code thì nó chỉ dùng đến k dòng thôi (thực tế thì k<30000). Con số này bạn có thể thay đổi tùy theo tình hình thực tế.Anh cho em hỏi một chút về lệnh này với ạ:
Em hiểu là mảng này có kích thước gồm 9 cột và 30000 dòng nhưng chỗ 1 To 30000 thì con số 30000 là do mình chọn hay bắt buộc vậy anh?
Đúng là e cũng không biết tác giả định làm khó mình hay làm khó người giúp mà lại thiết kế không đồng nhất như vậy?Cũng cần nói thêm một chút: Nếu file dữ liệu của tác giả được đồng nhất cấu trúc giữa các sheet (theo nghĩa các sheet đều lấy dữ liệu ở các cột như nhau) thì code sẽ ngắn gọn hơn một chút. Ở đây có 3 sheet, mỗi sheet lấy 4 cột khác nhau, nên có 3 đoạn lệnh gần như lặp lại (gán dữ liệu cho biến Tmp rồi từ Tmp đưa vào Arr). Nếu không phải 3 sheet mà là 30 sheet như vậy thì chắc chết quá. Đó cũng là một kinh nghiệm "xương máu" khi gặp bài toán tổng hợp dữ liệu từ nhiều sheet hoặc nhiều file: Nếu tất cả cùng một cấu trúc thì vấn đề sẽ trở nên đơn giản. Do đó khi thiết kế ban đầu cần phải lưu ý đến vấn đề này.
Vui lòng đọc lại bài hướng dẫn của tôi:Bạn ơi, mình thêm dòng lệnh .[A4:K4].Borders.LineStyle = 1 ngay sau dòng lệnh số 34(giữa 2 chữ EndWith) thì chỉ đóng khung được ô J4:K4 thôi chứ nó không đóng khung được toàn bộ dữ lieu từ A4:K4 trở xuống.Bạn xem lại giúp mình nhé.
Trong code ban đầu thì dòng lệnh thứ 26 (.Borders.LineStyle = 1) đã đóng khung vùng .[A5].Resize(k, 9) rồi, do đó thêm câu lệnh .[A4:K4].Borders.LineStyle = 1 vào sẽ đóng khung thêm phần tiêu đề. Như vậy là đóng khung đầy đủ toàn bộ kết quả.2. Muốn đóng khung từ dòng số 4 trở xuống thì bạn thêm vào sau dòng lệnh thứ 34 (giữa 2 dòng lệnh End With) một lệnh này nữa: .[A4:K4].Borders.LineStyle = 1 (có thể thay cột K bởi cột khác cho phù hợp). Hoặc cũng có thể bỏ dòng lệnh thứ 26 rồi thêm dòng lệnh này vào sau dòng lệnh 34: .[A4].Resize(k+1, 11).Borders.LineStyle = 1 (số 11 có thể thay bởi số khác cho phù hợp).
Bạn thêm câu lệnh này: .NumberFormat = "#,##0" vào trong câu lệnh With .[G5].Resize(k)Bạn ơi, cột G5 ở sheet "Tong Hop" mình muốn viết số dưới dạng number, có dấu phẩy thì phai lam sao. khong co so le.
1) "Bạn ơi" là bạn nào đấy bạn???????????Bạn ơi, từ khi mình chèn code vào thì thanh cuộn bên phải của trang excel bị ngắn lại, mình kéo có cái nhẹ thôi đã hết trang excel rồi, không nhìn thấy dữ lieu gi, có cách nào cả, có cách nào khắc phuc không bạn.
Thanh cuộn ngắn hay dài phụ thuộc vào số dòng dữ liệu có trên sheet. Như vậy có lẽ do lượng dữ liệu của bạn lớn quá nên nó như vậy, và đó là bình thường thôi mà. Thay vì bạn kéo thanh cuộn này thì bạn dùng con lăn trên chuột để cuộn trang màn hình.Bạn ơi, từ khi mình chèn code vào thì thanh cuộn bên phải của trang excel bị ngắn lại, mình kéo có cái nhẹ thôi đã hết trang excel rồi, không nhìn thấy dữ lieu gi, có cách nào cả, có cách nào khắc phuc không bạn.
Dữ liệu thực tế của bạn sau khi chạy code trên là bao nhiêu hàng vậy?Bạn ơi, không phải thanh cuộn nằm ngang mà là thanh cuộn nằm dọc trên xuống đó bạn, kéo cái nhẹ thôi mà nó xuống tới dòng 100 rồi, lăn chuột thì lâu quá, bạn còn cách nào không.
Dữ liệu như vậy thì không phải là nhiều. Có lẽ trong file của bạn có một số dữ liệu bị ẩn ở một hàng nào đó khá lớn. Bạn thử nhấn Ctrl+End xem Excel chọn ô nào trên sheet. Nếu bạn không cố tình tạo dữ liệu ở ô đó, ngoại trừ dữ liệu được tổng hợp qua thì bạn Delete toàn bộ các hàng trước khi chạy code xem sao.Nhiều nhất là 52tờ giấy A5 ngang, mỗi tờ được 10 hàng, mỗi tháng mình phải in ra rất nhiều tuy nhiên không chuyển sang khổ giấy A4 hoặc A3 đứng được.
Gặp kiểu dữ liệu này, tôi "khoái" dùng 1 dòng phụ (trong file là dòng 5)Các bạn vui lòng viết code giúp mình như yêu cầu trong file đính kèm.
Rất nhiều người tham gia trả lời bài cho bạn, bạn muốn trao đổi với người nào thì ấn nút "Trả lời với trích dẫn" bài của người đó, mọi người mới biết bạn muốn trao đổi với ai, viết chung như bạn thì không ai biết bạn muốn người nào tiếp tục với bạn đây.Trước tiên mình chân thành cảm ơn bạn nhiệt tình giúp đỡ. Khuya nay mình đã thử làm trên một file excel mới rồi thì kết quả rất ok, có lẽ những file cũ của mình bị lỗi rồi, mình sẽ sửa lại. Bạn ơi giúp mình từ cột B5:C5 trở xuống của sheet Tong Hop sử dụng Size chữ là 8 tất cả những cái còn lại giữ nguyên như cũ.
Hôm nay mình đã xóa Sheet Tong Hop làm lại thì kết quả OK, Bạn ơi giúp mình thêm tí nữa. Tại Sheet Tong Hop từ dòng B5:C5 trở xuống dùng Size chữ 8 thôi. Sorry vì đã làm phiền. cảm ơn bạn nhiều.Dữ liệu như vậy thì không phải là nhiều. Có lẽ trong file của bạn có một số dữ liệu bị ẩn ở một hàng nào đó khá lớn. Bạn thử nhấn Ctrl+End xem Excel chọn ô nào trên sheet. Nếu bạn không cố tình tạo dữ liệu ở ô đó, ngoại trừ dữ liệu được tổng hợp qua thì bạn Delete toàn bộ các hàng trước khi chạy code xem sao.
Nếu bạn không ngại về dữ liệu trên file thì có thể gửi file thực tế cho tôi theo địa chỉ nghiaphuc@giaiphapexcel.com, tôi sẽ kiểm tra giúp bạn.
Trong code tại bài #23 của tôi có đoạn thế này:Hôm nay mình đã xóa Sheet Tong Hop làm lại thì kết quả OK, Bạn ơi giúp mình thêm tí nữa. Tại Sheet Tong Hop từ dòng B5:C5 trở xuống dùng Size chữ 8 thôi. Sorry vì đã làm phiền. cảm ơn bạn nhiều.
With.[G5].Resize(k)[COLOR=#000000][FONT=Consolas]
.NumberFormat = "#,##0"[/FONT][/COLOR]
[COLOR=#000000][FONT=Consolas] .Font.Size = 14[/FONT][/COLOR]
[COLOR=#000000][FONT=Consolas] .Font.Bold = True[/FONT][/COLOR]
[COLOR=#000000][FONT=Consolas] .Font.ColorIndex = 3[/FONT][/COLOR]
End With
Em cũng có một vấn đề tương tự mong được các anh/chị hỗ trợ giúp. File của em cũng lấy dữ liệu từ 4 sheet khác nhau nhưng lại theo mã hiệu công việc. Khi ta nhập mã hiệu vào cột. Tức là khi ta nhập mã hiệu vào cột B của sheet "TH VL-NC-MTC" thì nó sẽ lấy đơn giá trên 4 sheet CK, VL-TB, DM366, DM7606 để đưa vào.
Em xin cảm ơn anh/chị giúp đỡ
Chào bạnchào bạn,
- khi bạn nhập mã hiệu vào cột B sheet "TH VL-NC-MTC" --> bạn đã biết chính xác các mã đó rồi hay sao?
- hiện tại Header 4 sheet màu vàng chưa đồng nhất với nhóm Đơn giá tại sheet "TH VL-NC-MTC" (VL chinh', VL phu, Nhan Cong, MTC) ---> bạn hãy mô tả kỹ hoăc nói rõ kết quả (điền thử 4 mã hiệu của 4 sheet + kết quả) khi tìm mã hiệu của từng sheet sẽ lấy những cột nào?
Chào bạn
Cái này chỉ là mình cắt nhỏ từ công việc của mình nên nó vắn tắt như vậy nhứ thật ra nó rất là nhiều. Khi mình nhập mã hiệu vào sheet "TH VL-NC-MTC" thì mình dùng listbox nên tất cả các mã hiệu đó đều chính xác cả.
Còn các các đơn giá chưa đồng nhất thật ra cũng ko fai vì nó chỉ là 1 phần nhỏ trong dữ liệu thôi nhưng tất cả đều bao gồm đầy đủ (VL chính, VL phụ, Nhân công, Máy thi công).
Cụ thể ví dụ như mình nhập vào mã hiệu "MBA50" thì nó sẽ lấy đơn giá của mã hiệu này bên sheet "VL-TB" cụ thể là 35,000,000 đưa vào phần vật liệu chính (cột G) bên sheet "TH VL-NC-MTC.
Cảm ơn bạn đã giúp đỡ mình
Gởi lại bạn file này cho sát với công việc của mình hơn. File trên cũ rồi
Cảm ơn ban
bạn nói có lý, khi thay đổi đơn giá mã hiệu tại 4 sheet kia thì sheet TH VL-NC-MTC sẽ được tính toán liên tục --> làm file chạy chậm. Mình đã xử lý là thêm điều kiện "on off Calculate" bằng cách:Cảm ơn bạn đã giúp đỡ mình. Nhưng cách này có 1 vài vấn đề bạn à
- Vì nó là 1 hàm tự tạo nên nếu như khi dữ liệu lên đến cả ngàn dòng thì có có đến ngàn hàm tự tạo đc gọi ra, thêm nữa có đến 4 đơn giá là đến thêm 4 ngàn hàm được gọi vậy có làm file trở nên nặng nề không? (ban đầu nó là file excel được sử dụng vlookup nhưng vì nó quá nặng nề nên đành phải chọn giải pháp bằng code VBA).
nếu mục đích bên thứ 2 chỉ xem và ko chỉnh sửa gì thêm thì bạn có thể chuyển toàn bộ đơn giá sang Value trước khi convert đuôi .xlsx- Vì đặc thù công việc nên mình thêm 1 vài code vào file ban đầu để xử lý đơn giản hơn cho bản thân mình nhưng sản phẩm cuối cùng mình phải chuyển cho bên thứ 2 ở dạng không có macro (.xlsx) mà như vậy thì những hàm tự tạo đều bị lỗi #NAME.
Cảm ơn bạn đã giúp mình.
Đúng là cách bạn giúp mình nó có ưu điểm hay là có thể tự động cập nhật đơn giá lúc mình thay đổi bên sheet dữ liệu. Nhưng lại mắc nhược điểm là khi chuyển file cho người ta phải copy-paste value, mà vấn đề này cũng khá căng vì trong file công việc của mình có đến 3 sheet có cấu hình tương tự như vậy (mình đang cố gắng muốn bớt được thao tác bằng tay cái nào càng hay cái đấy ấy mà).
Mình mong bạn có thể giúp mình đoạn code như mình đề cập ở #42 và #45 để mình áp dụng cả 2 cách vào công việc và đưa ra được giải pháp tối ưu nhất.
Một lần nữa cảm ơn bạn rất nhiều
Hihi đúng là như vậy bạn à.- vấn đề chuyển sang Value khá dễ dàng mà bạn, cũng dùng code chứ đâu phải copy and paste bằng tay --> click 1 phát là xong ấy mà
- còn theo cách của #45 thì code đó cũng ko có tự động mà đòi hỏi phải bấm nút và bên file kia chỉ có 1 sheet Gia VLieu (của bạn là 4 sheet)
- nếu bạn làm tự động Update đơn giá (theo kiểu Scripting.Dictionary, ko dùng hàm tự tạo) khi sheet Active ---> mình nghĩ bạn chỉ dùng khi nào bạn thật sự rành về code, vì khi bố cục có thay đổi 1 tí "sẽ rất là nguy hiểm"
Mình làm không được bạn ơi, nếu đổi tất cả sang Size 8 thì dể rồi, cái này mình chỉ đổi từ B5:C5 trở xuống thôi. Bạn có thể chỉ mình không.Trong code tại bài #23 của tôi có đoạn thế này:
Bạn dựa vào đó mà chế biến lại câu lệnh cho phù hợp với yêu cầu. Phải thử làm thì mới biết mình làm được không chứ.Mã:With.[G5].Resize(k)[COLOR=#000000][FONT=Consolas] .NumberFormat = "#,##0"[/FONT][/COLOR] [COLOR=#000000][FONT=Consolas] .Font.Size = 14[/FONT][/COLOR] [COLOR=#000000][FONT=Consolas] .Font.Bold = True[/FONT][/COLOR] [COLOR=#000000][FONT=Consolas] .Font.ColorIndex = 3[/FONT][/COLOR] End With
Không ổn rồi bạn ơi.bạn nói có lý, khi thay đổi đơn giá mã hiệu tại 4 sheet kia thì sheet TH VL-NC-MTC sẽ được tính toán liên tục --> làm file chạy chậm. Mình đã xử lý là thêm điều kiện "on off Calculate" bằng cách:
1. off nó khi Worksheet_Deactivate, on khi Worksheet_Activate
2. thêm điều kiện If cho công thức đơn giá.
(nếu Excel 2007 trở về sau thì bạn sẽ thấy rõ hơn khi dùng chức năng Camera từ sheet A sang sheet B)
nếu mục đích bên thứ 2 chỉ xem và ko chỉnh sửa gì thêm thì bạn có thể chuyển toàn bộ đơn giá sang Value trước khi convert đuôi .xlsx
Không ổn rồi bạn ơi.
Khi áp dụng cách này vào công việc thì nó phát sinh vấn đề như thế này bạn à, mình có 1 sheet được vlookup đến sheet TH VL-NC-MTC, nhưng lúc này sheet TH VL-NC-MTC lại bị Deactivate thì code đâu có chạy ==> vlookup bị lỗi #VALUE.
Có cách nào khắc phục được điểm này không hả bạn.
Cảm ơn
Mình xin hỏi bạn chúc về vấn đề tổng hợp dữ liệu từ các file.Bạn có thể gửi lại File và nói rõ hơn là lấy từ 3 sheet A, B, C đưa vào Sheet tổng hợp thì đưa vào như thế nào?
Ví dụ: 4 cột ở Sheet A sẽ đưa vào trước hay như thế nào? Sheet B, Sheet????
Bạn nói chung chung thế ai mà giúp được bạn!
Chào bạn! mình đã làm được rồi, cảm ơn bạn nhiều. Cho mình hỏi thêm tí nữa là mình có rất nhiều file excel có định dạng going nhau có cách nào bỏ code vào một file mà chạy code cho tất cả các file.Trong code tại bài #23 của tôi có đoạn thế này:
Bạn dựa vào đó mà chế biến lại câu lệnh cho phù hợp với yêu cầu. Phải thử làm thì mới biết mình làm được không chứ.Mã:With.[G5].Resize(k)[COLOR=#000000][FONT=Consolas] .NumberFormat = "#,##0"[/FONT][/COLOR] [COLOR=#000000][FONT=Consolas] .Font.Size = 14[/FONT][/COLOR] [COLOR=#000000][FONT=Consolas] .Font.Bold = True[/FONT][/COLOR] [COLOR=#000000][FONT=Consolas] .Font.ColorIndex = 3[/FONT][/COLOR] End With
Đó là add in . Bạn search trên diễn đàn với từ khóa "Cách thêm add in vào exccel".Chào bạn! mình đã làm được rồi, cảm ơn bạn nhiều. Cho mình hỏi thêm tí nữa là mình có rất nhiều file excel có định dạng going nhau có cách nào bỏ code vào một file mà chạy code cho tất cả các file.
Đó là add in . Bạn search trên diễn đàn với từ khóa "Cách thêm add in vào exccel".
Theo mình sẽ KHÔNG BAO GIỜ thấy Add in trên thanh Ribbon cả!!!Mình đã tạo một file với tất cả code mà bạn đã chỉ mình sau đó Save lại với phần duoi là .xla sau đó vào excel cài add in vào nhưng trên thanh Ribbon không hiển thị chữ Add in đâu cả. có cách nào giup mình không bạn.
mình vào google xem rất nhiều hướng dẫn nhưng bó tay bạn ơi.
Mình đã cài them và đã "tích" nhưng vẫn không thấy chữ Add-Ins đâu cả. mình tạo add-ins của bài code nhập dữ lieu ở trang 1 đó bạn. Bạn nghiêng cứu xem thế nào nhé.Theo mình sẽ KHÔNG BAO GIỜ thấy Add in trên thanh Ribbon cả!!!
Bạn vào mục để cài thêm, đã thấy add in đó được "tích" chưa??? đã "tích" là chạy được
Bạn đặt công thức trong cell là tên hàm trong add in xem có hiện ra tên hàm đó không?
Mà bạn tạo add in của file ở bài nào vậy?
Đâu phải cứ cài Add-ins là nó phải có mặt tại tab Add-ins trên Ribbon đâu, chỉ khi nào trong Add-ins đó có tạo một nút lệnh hoặc nhóm lệnh trên Ribbon thì nó mới nằm ở đó chứ. Nhưng mà bạn cứ yên tâm, một khi bạn đã cài Add-ins thì bạn sẽ sử dụng được nó, còn việc làm sao để gọi các thủ tục có trong Add-ins đó thì đâu nhất thiết cứ phải có nút lệnh đâu, bạn hoàn toàn có thể tạo phím tắt cho từng thủ tục mà.Mình đã tạo một file với tất cả code mà bạn đã chỉ mình sau đó Save lại với phần duoi là .xla sau đó vào excel cài add in vào nhưng trên thanh Ribbon không hiển thị chữ Add in đâu cả. có cách nào giup mình không bạn.
mình vào google xem rất nhiều hướng dẫn nhưng bó tay bạn ơi.
Bạn có thể giúp mình là cho nó hiện lên thanh Ribbon nhé. Và dùng phím tắt thì phím gì vậy? Cảm ơn bạn nhiều lắm.Đâu phải cứ cài Add-ins là nó phải có mặt tại tab Add-ins trên Ribbon đâu, chỉ khi nào trong Add-ins đó có tạo một nút lệnh hoặc nhóm lệnh trên Ribbon thì nó mới nằm ở đó chứ. Nhưng mà bạn cứ yên tâm, một khi bạn đã cài Add-ins thì bạn sẽ sử dụng được nó, còn việc làm sao để gọi các thủ tục có trong Add-ins đó thì đâu nhất thiết cứ phải có nút lệnh đâu, bạn hoàn toàn có thể tạo phím tắt cho từng thủ tục mà.
Khi bạn kick vào Developer/Marco se thấy tên của marco, phía duoi co 1 ô nhỏ để đặt phím tắt đó.Bạn có thể giúp mình là cho nó hiện lên thanh Ribbon nhé. Và dùng phím tắt thì phím gì vậy? Cảm ơn bạn nhiều lắm.
Vấn đề là mình muốn tạo add-ins để chạy cho nhiều file excel. không biết làm vậy có được không bạn? Mình có mấy chục file excel có cùng định dạng, nếu bỏ code cho từng file cũng được nhưng mỗi lần chỉnh sửa code thì phảiccập nhật mấy chục file thì mất thời gian quá. Cách tren google chỉ mình đã thử nhưng không được. Hy vọng bạn sẽ giúp được mình trong vấn đề này.Khi bạn kick vào Developer/Marco se thấy tên của marco, phía duoi co 1 ô nhỏ để đặt phím tắt đó.