Lập lại tiêu đề cho từng dòng dữ liệu

Liên hệ QC

langtu020690

Thành viên chính thức
Tham gia
4/12/09
Bài viết
51
Được thích
8
Hi ad
Mình đã làm theo như video ad gửi và đã làm ra, nhưng thứ tự ad chọn vẫn chưa đúng với ý của cái form 3 khung đỏ. Vả lại trong code còn những đoạn fix sẵn dãy range (vd như Wb.Sheets("Data").Range("A5:S5").Resize(Lap).Copy Sh.Range("A3")). Nên nếu file add-in này gửi dùng cho 1 bảng lương khác sẽ bị lỗi. E giải thích tý
219969
219971
-----------
Em nói từng hình nha
Hình 1:
a. Khung xanh là tiêu đề muốn lập lại, tương ứng với hình 2 là khung đỏ đầu tiên (titles range)
b. Khung vàng là vùng dữ liệu muốn tiêu đề lập lại, tương ứng với hình 2 là khung đỏ thứ 2 (insert range)
Hình 2:
a. Khung đỏ thứ 3 (interval Rows) là bao nhiêu dòng dữ liệu thì cho tiêu đề lập lại 1 lần
Ví dụ 1: Nếu khung đỏ thứ 2 (insert range) chọn 3 người, và muốn mỗi người tiêu đề lập lại 1 lần thì interval rows = 1, kết quả sẽ ra giống hình 4
219974
Ví dụ 2: Nếu khung đỏ thứ 2 (insert range) chọn 4 người, và muốn cứ 2 người tiêu đề lập lại 1 lần thì interval rows = 2, kết quả sẽ ra giống hình 5
219975
---------
Mục đích và tất cả các input đều thông qua từ hình 2, và bất kỳ file nào, bảng lương or 1 bảng nào đó đều có thể dùng dc. Hiện tại trong code của ad, e thấy còn 1 vài chỗ fix cứng. Ad xem dùm e nha, e nghĩ chúng ta đi dc 90% đoạn đường rồi, do em mới học nên k có tầm để sửa code. Một lần nữa tks ad
 

File đính kèm

  • 1561526433220.png
    1561526433220.png
    60.8 KB · Đọc: 3
  • 1561526461128.png
    1561526461128.png
    36.3 KB · Đọc: 3
  • 1561526539257.png
    1561526539257.png
    71.7 KB · Đọc: 4
  • 1561526657153.png
    1561526657153.png
    36.3 KB · Đọc: 4
Hi ad
Mình đã làm theo như video ad gửi và đã làm ra, nhưng thứ tự ad chọn vẫn chưa đúng với ý của cái form 3 khung đỏ. Vả lại trong code còn những đoạn fix sẵn dãy range (vd như Wb.Sheets("Data").Range("A5:S5").Resize(Lap).Copy Sh.Range("A3")). Nên nếu file add-in này gửi dùng cho 1 bảng lương khác sẽ bị lỗi. E giải thích tý
View attachment 219969
View attachment 219971
-----------
Em nói từng hình nha
Hình 1:
a. Khung xanh là tiêu đề muốn lập lại, tương ứng với hình 2 là khung đỏ đầu tiên (titles range)
b. Khung vàng là vùng dữ liệu muốn tiêu đề lập lại, tương ứng với hình 2 là khung đỏ thứ 2 (insert range)
Hình 2:
a. Khung đỏ thứ 3 (interval Rows) là bao nhiêu dòng dữ liệu thì cho tiêu đề lập lại 1 lần
Ví dụ 1: Nếu khung đỏ thứ 2 (insert range) chọn 3 người, và muốn mỗi người tiêu đề lập lại 1 lần thì interval rows = 1, kết quả sẽ ra giống hình 4
View attachment 219974
Ví dụ 2: Nếu khung đỏ thứ 2 (insert range) chọn 4 người, và muốn cứ 2 người tiêu đề lập lại 1 lần thì interval rows = 2, kết quả sẽ ra giống hình 5
View attachment 219975
---------
Mục đích và tất cả các input đều thông qua từ hình 2, và bất kỳ file nào, bảng lương or 1 bảng nào đó đều có thể dùng dc. Hiện tại trong code của ad, e thấy còn 1 vài chỗ fix cứng. Ad xem dùm e nha, e nghĩ chúng ta đi dc 90% đoạn đường rồi, do em mới học nên k có tầm để sửa code. Một lần nữa tks ad
Khi bạn lập topic để hỏi thì phải nêu cụ thể vấn đề của mình và phải có file để người xem muốn biết bạn cần điều gì, nói như vậy chỉ mình tôi hiểu chứ người khác sẽ không hiểu đâu. Bạn xem hướng dẫn từ video, trước hết bạn cần chọn vùng dữ liệu cần xuất sau đó mới chọn lệnh.
 

File đính kèm

  • ExportFile.xlam
    30.7 KB · Đọc: 10
Upvote 0
Khi bạn lập topic để hỏi thì phải nêu cụ thể vấn đề của mình và phải có file để người xem muốn biết bạn cần điều gì, nói như vậy chỉ mình tôi hiểu chứ người khác sẽ không hiểu đâu. Bạn xem hướng dẫn từ video, trước hết bạn cần chọn vùng dữ liệu cần xuất sau đó mới chọn lệnh.
Dear Ad
Lần sau e sẽ chú ý hơn khi tạo topic mới phải ghi rõ ràng yêu câu để mọi người cùng xem. Tại lúc nảy e nghỉ e ghi tiêu đề chắc mọi người hiểu.
Em quay lại tí nha, trước mắt như video ad gửi thì e làm OK rồi, đúng như yêu cầu ban đầu đề ra. Và e tiến hành vào file lương gốc của cty em (sắp tới là bạn em) thì e bị lỗi như sau
220003
Trong file đính kèm là bảng lương của công ty em, mọi thao tác e làm giống như ad hướng dẫn
 

File đính kèm

  • File Luong.xls
    149.5 KB · Đọc: 5
Upvote 0
Dear Ad
Lần sau e sẽ chú ý hơn khi tạo topic mới phải ghi rõ ràng yêu câu để mọi người cùng xem. Tại lúc nảy e nghỉ e ghi tiêu đề chắc mọi người hiểu.
Em quay lại tí nha, trước mắt như video ad gửi thì e làm OK rồi, đúng như yêu cầu ban đầu đề ra. Và e tiến hành vào file lương gốc của cty em (sắp tới là bạn em) thì e bị lỗi như sau
View attachment 220003
Trong file đính kèm là bảng lương của công ty em, mọi thao tác e làm giống như ad hướng dẫn
Thử lại với file này.
 

File đính kèm

  • ExportFile.xlam
    31.3 KB · Đọc: 19
Upvote 0
Dear Ad
Em có test 1 vài file khác thì kết quả OK, em có 2 câu hỏi nhỏ ad xem giúp em
1. e thấy gần cuối đoạn code có dòng "Sh.Columns("A:A").Resize(, cCol).EntireColumn.AutoFit" hiện tạ em muốn autofix cột B (họ và tên), nghĩa là co giản theo độ dài của tên thì e thêm Sh.Columns("B:B").Resize(, cCol).EntireColumn.AutoFit là dc phải k ad
2. Ban đầu nếu ad ko làm 1 clip quay lại thao tác thì e cũng k mò ra phải chạy add-in này như thế nào. Nên ko biết có cách nào mình k cần phải chọn vùng dữ liệu lập lại trước khi xuất bảng lương k ad, nghĩa là khi mình chọn nút "Xuất Bảng Lương" => form hiện ra => muốn thao tác gì thì chọn trên form, ban đầu e cũng có suy nghỉ, nếu vậy chắc trên form tần tạo 1 textbox nữa để lấy vùng dữ liệu muốn tiêu đề lập lại. Không biết e suy nghỉ vậy đúng ko. Ad cho e tí ý kiến nha.
 
Upvote 0
1. e thấy gần cuối đoạn code có dòng "Sh.Columns("A:A").Resize(, cCol).EntireColumn.AutoFit" hiện tạ em muốn autofix cột B (họ và tên), nghĩa là co giản theo độ dài của tên thì e thêm Sh.Columns("B:B").Resize(, cCol).EntireColumn.AutoFit là dc phải k ad
2. Ban đầu nếu ad ko làm 1 clip quay lại thao tác thì e cũng k mò ra phải chạy add-in này như thế nào. Nên ko biết có cách nào mình k cần phải chọn vùng dữ liệu lập lại trước khi xuất bảng lương k ad, nghĩa là khi mình chọn nút "Xuất Bảng Lương" => form hiện ra => muốn thao tác gì thì chọn trên form, ban đầu e cũng có suy nghỉ, nếu vậy chắc trên form tần tạo 1 textbox nữa để lấy vùng dữ liệu muốn tiêu đề lập lại. Không biết e suy nghỉ vậy đúng ko. Ad cho e tí ý kiến nha.
Ý 1:
Mã:
Sh.Columns("B:B").EntireColumn.AutoFit
Ý 2: Khi Form hiện lên bạn sẽ thấy có phần chữ màu đỏ đó là vùng bạn đang chọn, giả sử nếu bạn không chọn thì làm sao nó biết bạn muốn lấy vùng nào để tách, còn nếu bạn muốn vùng cố định thì lại mâu thuẩn với ý của bạn ở #1. Nói tóm lại muốn linh hoạt thì bạn vẫn phải chọn vùng cần lấy dữ liệu (Có thể chọn trước hoặc chọn sau khi hiện Form nhưng đằng nào vẫn phải tốn công chọn, tôi thiết kế chọn trước còn bạn có thể tùy chỉnh theo yêu cầu) hoặc nếu không muốn chọn thì vào code sửa lại trước khi chạy (Ý này bạn không thích).
 
Upvote 0
Ý 1:
Mã:
Sh.Columns("B:B").EntireColumn.AutoFit
Ý 2: Khi Form hiện lên bạn sẽ thấy có phần chữ màu đỏ đó là vùng bạn đang chọn, giả sử nếu bạn không chọn thì làm sao nó biết bạn muốn lấy vùng nào để tách, còn nếu bạn muốn vùng cố định thì lại mâu thuẩn với ý của bạn ở #1. Nói tóm lại muốn linh hoạt thì bạn vẫn phải chọn vùng cần lấy dữ liệu (Có thể chọn trước hoặc chọn sau khi hiện Form nhưng đằng nào vẫn phải tốn công chọn, tôi thiết kế chọn trước còn bạn có thể tùy chỉnh theo yêu cầu) hoặc nếu không muốn chọn thì vào code sửa lại trước khi chạy (Ý này bạn không thích).
Dear Ad
Chắc em viết làm ad hiểm nhằm, chứ mục đích chính của em là mọi thao tác chọn đều bắt đầu trên form, chứ k vào sửa code, hay chọn trước dữ liệu. Hiện tại e đã dựa vào logic mà ad code em đã chỉnh sửa dc khi toàn bộ chọn trên form. Kết quả đã như mong đợi, giờ chỉ còn tùy chỉnh tiêu đề cho form bằng tiếng việt nữa là xong. Tks ad rất nhiều
 
Upvote 0
Dear Ad
Chắc em viết làm ad hiểm nhằm, chứ mục đích chính của em là mọi thao tác chọn đều bắt đầu trên form, chứ k vào sửa code, hay chọn trước dữ liệu. Hiện tại e đã dựa vào logic mà ad code em đã chỉnh sửa dc khi toàn bộ chọn trên form. Kết quả đã như mong đợi, giờ chỉ còn tùy chỉnh tiêu đề cho form bằng tiếng việt nữa là xong. Tks ad rất nhiều
Bạn up cái file đã chỉnh đó lên đây mình chỉnh tiêu đề Unicode cho.
 
Upvote 0
Máy mình Office 32bit, không biết máy bạn như thế nào test thử và cho kết quả.
Dear ad

Máy em office 64. win64 để e test thử
Bài đã được tự động gộp:

Dear ad
Kết quả như mong đợi. Tks ad
220097
Bài đã được tự động gộp:

Dear Ad
Em thắc mắt tí
220103
File trước khi đưa ad, e có khoảng 4 dòng định nghĩa lại tên tiếng việt cho 4 lable (tương ứng 4 khung đỏ trên)
File mà ad gửi lại thì 4 dòng đó đã xóa, form giao diện thiết kế thì e thấy 4 lable đó đã được đánh tiếng việt (như hình trên). Cái này có phải Ad đánh vào phần caption của properties ko, em thử tạo 1 cái lable khác, cũng đánh thử tiếng việt nhưng nó báo lỗi. Ad giải thích cho e tí tại sao vậy
 

File đính kèm

  • 1561629392423.png
    1561629392423.png
    16.8 KB · Đọc: 3
Lần chỉnh sửa cuối:
Upvote 0
Dear Ad
Em thắc mắt tí
File trước khi đưa ad, e có khoảng 4 dòng định nghĩa lại tên tiếng việt cho 4 lable (tương ứng 4 khung đỏ trên)
File mà ad gửi lại thì 4 dòng đó đã xóa, form giao diện thiết kế thì e thấy 4 lable đó đã được đánh tiếng việt (như hình trên). Cái này có phải Ad đánh vào phần caption của properties ko, em thử tạo 1 cái lable khác, cũng đánh thử tiếng việt nhưng nó báo lỗi. Ad giải thích cho e tí tại sao vậy
Bạn không nên gõ vào caption của label, bạn chọn label cần gõ, nháy vào label thêm lần nửa lúc này con trỏ sẽ nhảy vào khung label bạn gõ tiếng việt như nên word
 
Upvote 0
Bạn không nên gõ vào caption của label, bạn chọn label cần gõ, nháy vào label thêm lần nửa lúc này con trỏ sẽ nhảy vào khung label bạn gõ tiếng việt như nên word
Dear Ad
Cái này thật hay, bình thường thì khi e click vào lần nó sẽ nhảy và tạo ra 1 dòng code, ai ngờ click lần 2 thì OK hjhj.
Coi những vấn đề đã được giải quyết. Ad chỉ e thêm cái này nữa nha, e đang học từ trong chính vấn đề. hj làm cách nào để mình đổi tên 2 cụm
"Tiện ích" và "Xuất Bảng Lương" trên add-in vậy. Cái này e hỏi cho biết thôi, học thêm cái nào thì học :)
 
Lần chỉnh sửa cuối:
Upvote 0
Dear Ad
Từ sáng giờ tìm hiểu thì e tìm thấy cái này "office ribbonx editor", mở file của mình lên nó sẽ mở dang xml và chỉnh trong đó và đã chỉnh théo y mình muốn.
Bên cạnh đó e mở properties của file thì thấy như hình dưới, đoán chắc ad dùng "IDBE Ribbon Creator" nhưng down về ko biết dúng. :D
220134
 
Upvote 0
Hi ad
Mình copy cái add-in của e cho chị kế toán dùng, máy chị office 2017 32bti, win 32 luôn, khi khi vừa add xong thì báo lỗi này
220138
và sau khi bấm Ok thì ra bảng dưới, cái này có phải là thiếu cài VB ko vậy ad
220139
 
Upvote 0
Dear anh
Em mò 1 hồi đã ok vụ ref edit control, nhưng sau khi cài xong add-in của em k hiện ra
Giao diện dưới là giao diện sau khi cài xong trên office 2007

220150
 
Upvote 0
Dear anh
Em mò 1 hồi đã ok vụ ref edit control, nhưng sau khi cài xong add-in của em k hiện ra
Giao diện dưới là giao diện sau khi cài xong trên office 2007

View attachment 220150
Đây là file được tạo ribbon từ phần mềm IDBE RibbonCreator 2010 (Nó có cho phiên bản 2007 riêng), theo nguyên tắc thì 2010 sẽ không thể xem thanh Ribbon ở 2007, vì vậy để nhìn được cái Ribbon ở excel 2007 thì phải sửa lại cấu trúc file xlam. Còn muốn tìm hiểu về Ribbon bạn có thể xem bài viết ở đây để biết về cấu trúc xml của ribbon
Còn nếu đã có sẳn Ribbon rồi thì sửa lại như hướng dẫn dưới đây.
Bạn tải file này về xem có dùng được cho Excel 2007 hay không? Máy mình Excel 2010 nên không test được.
 

File đính kèm

  • Add-Ins.xlam
    22.3 KB · Đọc: 8
Lần chỉnh sửa cuối:
Upvote 0
Hi ad

Em mới vừa test cái file mà ad đưa vào máy 2007, vẫn k hiện ra add-in của mình. :(
 
Upvote 0
Hi ad

Em có tí ý kiến, ad xem hợp lý ko nha, hiện tại e đã vào máy office 2007, down và cải IDBE RibbonCreator (Office 2007), giờ từ file xlam của ad, e làm sao để nó lưu lại thành xlsm, sao đó thử tạo mới add-in bằng bảng 2007. Nhưng suy cho cùng e thấy bắt tiện vì phải chuyển qua chuyển lại. Không biết có cách nào khác không
 
Upvote 0
Web KT
Back
Top Bottom