Hỏi code trả về số đầu dòng trong 1 cell trong excel

  • Thread starter Thread starter Trojan
  • Ngày gửi Ngày gửi
Liên hệ QC

Trojan

Thành viên hoạt động
Tham gia
13/3/08
Bài viết
162
Được thích
78
Tôi đang gặp vấn đề với 1 cell trong excel là trong 1 ô dữ liệu sau khi textwrap thì có xuống thành nhiều dòng. Xin hỏi các mem thủ tục sao để trả về giá trị là số dòng hoặc đầu dòng trong 1 cell đó. Chân thành cảm ơn mọi hướng dẫn.
P/S: Xin ghi chú là không phải thủ tục để biết vị trí dòng của ô (activecell.row)
 
Tôi đang gặp vấn đề với 1 cell trong excel là trong 1 ô dữ liệu sau khi textwrap thì có xuống thành nhiều dòng. Xin hỏi các mem thủ tục sao để trả về giá trị là số dòng hoặc đầu dòng trong 1 cell đó. Chân thành cảm ơn mọi hướng dẫn.
P/S: Xin ghi chú là không phải thủ tục để biết vị trí dòng của ô (activecell.row)
Nếu bạn cố ý xuống dòng bằng cách dùng Alt + Enter thì còn xác định được, chứ còn Wraptext bình thường thì tôi nghĩ hổng trời nào biết được cell ấy có bao nhiêu lines cũng như line đầu tiên chứa chuổi gì đâu
 
Lần chỉnh sửa cuối:
Upvote 0
Cảm ơn anh ndu96081631, nếu xuống dòng bằng alt+enter thì đếm nó như thế nào anh?
 
Upvote 0
Cảm ơn anh ndu96081631, nếu xuống dòng bằng alt+enter thì đếm nó như thế nào anh?
Alt + Enter cũng là một ký tự. Vì vậy nếu xuống dòng bằng Alt + Enter thì bạn căn cứ vào ký tự này mà tìm thôi:
Số dòng:
Mã:
Len(Selection.Value) - Len(Replace(Selection.Value, Chr(10), "")) + 1
Dòng đầu:
Mã:
Left(Selection.Value, InStr(Selection.Value, Chr(10)) - 1)
 
Upvote 0
Alt + Enter cũng là một ký tự. Vì vậy nếu xuống dòng bằng Alt + Enter thì bạn căn cứ vào ký tự này mà tìm thôi:
Số dòng:
Mã:
Len(Selection.Value) - Len(Replace(Selection.Value, Chr(10), "")) + 1
Dòng đầu:
Mã:
Left(Selection.Value, InStr(Selection.Value, Chr(10)) - 1)
ActiveCell chứ sao lại Selection nhỉ? (Selection có thể là Range, cũng có thể là Object còn ActiveCell thì luôn là Range... Selection có thể chứa nhiều cell nhưng ActiveCell luôn chỉ 1)
Có thể thay bằng:
PHP:
UBound(Split(ActiveCell.Value, vbLf)) + 1

PHP:
Split(ActiveCell.Value, vbLf)(0)
Chú ý bẫy lỗi những cell = ""
 
Lần chỉnh sửa cuối:
Upvote 0
Tôi chưa thử các hướng dẫn trên của các anh nhưng cũng xin cảm ơn vì những giúp đỡ này.
 
Upvote 0
Web KT

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

Back
Top Bottom