Thủ tục tìm điểm Alt+enter trong VBE là gì?

Liên hệ QC

Trojan

Thành viên hoạt động
Tham gia
13/3/08
Bài viết
161
Được thích
78
Chào các bác.
Trong công việc chúng tôi thường dùng tiếng Anh và tiếng Việt trong cùng 1 cell. Phần tiếng Anh viết bình thường, phần tiếng Việt viết sau tiếng Anh và có format riêng để dễ phân biệt. Giữa tiếng Anh, tiếng Việt là khoảng xuống dòng (alt+enter). Để format nhanh tôi đang muốn dùng VBE nhưng không biết thủ tục để tìm ra điểm xuống dòng (alt+enter) là gì. Nhờ các anh em trong diễn đàn chỉ giúp với ạ.
Chân thành cảm ơn.
 
Upvote 0
Hình như sai. Câu hỏi là trong 1 câu có sẵn, nửa Anh nửa Việt, tìm ra điểm cần xuống dòng (có lẽ là giữa từ cuối tiếng Anh và từ đầu tiếng Việt)
Câu hỏi cũng không rõ ràng. VBE là môi trường code VBA. Chả hiểu thớt muốn gì thì trả lời nó là LineFeed hoặc ascii 10 là đúng rồi.

Nếu trong môi trường Excel thì nó là Alt+010 (bảng keypad số) hoặc Ctrl+j
 
Upvote 0
Hình như sai. Câu hỏi là trong 1 câu có sẵn, nửa Anh nửa Việt, tìm ra điểm cần xuống dòng (có lẽ là giữa từ cuối tiếng Anh và từ đầu tiếng Việt)
Câu hỏi của thớt rõ rồi mà anh.

Đã có: Giữa tiếng Anh, tiếng Việt là khoảng xuống dòng (alt+enter)

Cái mong muốn: Phần tiếng Anh viết bình thường, phần tiếng Việt viết sau tiếng Anh và có format riêng để dễ phân biệt.

Yêu cầu cần trợ giúp: Để format nhanh tôi đang muốn dùng VBE nhưng không biết thủ tục để tìm ra điểm xuống dòng (alt+enter)

Tức là thớt cần tìm chỗ ngắt dòng rồi làm bước tiếp ----> format riêng để dễ phân biệt.
 
Upvote 0
Câu hỏi của thớt rõ rồi mà anh.

Đã có: Giữa tiếng Anh, tiếng Việt là khoảng xuống dòng (alt+enter)

Cái mong muốn: Phần tiếng Anh viết bình thường, phần tiếng Việt viết sau tiếng Anh và có format riêng để dễ phân biệt.

Yêu cầu cần trợ giúp: Để format nhanh tôi đang muốn dùng VBE nhưng không biết thủ tục để tìm ra điểm xuống dòng (alt+enter)

Tức là thớt cần tìm chỗ ngắt dòng rồi làm bước tiếp ----> format riêng để dễ phân biệt.
Cảm ơn bác. Đúng ý tôi là vậy. Đơn giản là muốn format hết phần tiếng Việt bằng VBE code cho nhanh nhưng không biết làm.
Bài đã được tự động gộp:

Kiểu như này bác.
 

File đính kèm

  • Book1.xlsx
    9.3 KB · Đọc: 2
Upvote 0
Cảm ơn bác. Đúng ý tôi là vậy. Đơn giản là muốn format hết phần tiếng Việt bằng VBE code cho nhanh nhưng không biết làm.
Bài đã được tự động gộp:

Kiểu như này bác.
PHP:
Private Sub CommandButton1_Click()
    Dim rng As Range
    Dim lngEnter As Long, lngLength As Long
    For Each rng In Range("A1:A5")
        With rng
            .Font.FontStyle = "Regular"
            .Font.ThemeColor = xlThemeColorLight1
            lngEnter = InStr(.Value, vbLf)
            lngLength = Len(.Value) - lngEnter + 1
            With .Characters(Start:=lngEnter, Length:=lngLength).Font
                .FontStyle = "Italic"
                .ThemeColor = xlThemeColorAccent1 ' xlThemeColorAccent2
            End With
        End With
    Next
End Sub

Bạn thử dùng code này nhé.

1648035339831.png
 

File đính kèm

  • DoiFont.xlsm
    20.1 KB · Đọc: 4
Lần chỉnh sửa cuối:
Upvote 0
Thì đúng vậy. Câu trả lời sẽ là dùng hàm Instr mà tìm :p :p :p
Trả lời như vậy chỉ đúng nửa sau. Bài #2 đáp ứng nửa trước.
altEnter = vba.chrw$( 10 )
For each cll In rg
choNgat = InStr(cll.Value, altEnter)
...

Tuy nhiên, bài #3 nhắc nhở rằng trị 10 là một ký hiệu khá căn bản. Nó được đặt sẵn trong thư viện Constants của VBA/VB, dưới cái tên vbLf.

Chứ cho các bạn không có căn bản về các ký tự điểu kiển văn bản:
Ngày xưa, người ta giành một số trị Ascii đầu (0 - 27) cho điểu khiển thiết bị, gọi là control characters.
Các controls sau đây người biết cái máy đánh chữ ngày xưa sẽ thấy quen thuộc:
7 là Ctrl+g được gán cho nhiệm vụ chuông (BEL). Cái terminal sẽ kêu "beng". (terminal giống như máy đánh chữ - xem chú bên dưới)
8 là Ctrl+h được gán cho nhiệm vụ backspace (có lẽ bạn lớn tuổi đủ để biết backspace trên máy đánh chữ làm gì)
9 là Ctrl+i được gán cho nhiệm vụ tab
10 là Ctrl+j được gán cho nhiệm vụ xuống dòng - lineFeed (trong máy đánh chữ là cuộn lên 1 dòng)
11 là Ctrl+k : tab dọc (máy đánh chữ cỡ lớn mới có cái này, cỡ xách tay không có)
12 là Ctrl+l : form feed, (máy đánh chữ cuộn hết tờ giấy và người đánh sẽ gắn tờ mới)
13 là Ctrl+m : carriage return - trở về đầu dòng (cái giá cuộn trên máy đánh chữ được gọi là carriage)
...
26 là Ctrl-z được gán cho nhiệm vụ báo EOF.
27 là Escape

Chú cho người không hề dùng máy đánh chữ:
Khi đánh máy, người ta cuộn giấy vào cái giá carriage. Cứ gõ một ký tự thì cái giá này chạy qua bên trái một bước để chỗ cho ký tự tiếp. Khi cần quay lại, người ta nhấn backspace thì cái giá sẽ chạy qua bên phải 1 ký tự. Và nếu gõ thì ký tự này sẽ đè lên ký tự trước.
Khi gõ tab thì cái giá nhảy 8 ký tự (mặc định). Ở các máy lớn, trên giá có mấy dụng cụ dùng để set Tabs.
Khi gõ gần hết dòng (còn khoảng 8 lý tự) máy sẽ kêu "beng", nhắc nhở người gõ.
Khi xong dòng, người gõ đưa tay đẩy cái cần gạt. Giá carriage sẽ đước đưa về bên phải, vị trí ký tự đầu tiên - bởi vậy mới có từ "carriage return". Nếu người gõ tiếp tục đẩy cần gạt thì giá cuộn sẽ tự cuộn giấy lên 1 dòng - đây là động tác "line feed". Vì vậy CrLf tương đương với động tác lên dòng mới và bắt lại từ đầu dòng.
 
Upvote 0
Web KT

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

Back
Top Bottom