VBA gạch chân chữ (2 người xem)

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

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

Chian91

Thành viên chính thức
Tham gia
19/9/15
Bài viết
57
Được thích
3
E có một vấn đề mong cả nhà giúp đỡ. Trong file e đính kèm e muốn gạch chân các chữ trong ô, nếu độ rộng của chữ chưa bằng độ rộng của ô thì cũng gạch chân đến hết độ rộng của ô. Em cám ơn cả nhà.
 

File đính kèm

E có một vấn đề mong cả nhà giúp đỡ. Trong file e đính kèm e muốn gạch chân các chữ trong ô, nếu độ rộng của chữ chưa bằng độ rộng của ô thì cũng gạch chân đến hết độ rộng của ô. Em cám ơn cả nhà.
Hiểu chết liền đó! Như thế nào là trường hợp đủ độ rộng, trường hợp nào là không đủ và nó sẽ ra cái hình dáng như thế nào, chứ đưa cái file lên mà chẳng thể nào hình dung nổi! Mục đích của bạn ứng dụng vào việc gì vậy?
 
Upvote 0
Hiểu chết liền đó! Như thế nào là trường hợp đủ độ rộng, trường hợp nào là không đủ và nó sẽ ra cái hình dáng như thế nào, chứ đưa cái file lên mà chẳng thể nào hình dung nổi! Mục đích của bạn ứng dụng vào việc gì vậy?
Theo em hiểu chắc chủ thớt muốn dữ liệu nào bị tràn ô a qua ô b thì sẽ gạch chân
còn dòng nào không tràn qua ô b sẽ không gạch chân chữ
 
Upvote 0
Theo em hiểu chắc chủ thớt muố dữ liệu nào bị tràn ô a qua ô b thì sẽ gạch chân
còn dòng nào không tràn qua ô b sẽ không gạch chân chữ
Theo tôi nghĩ bạn này làm kiểu giống Word đó mà các dấu tab có gạch dưới để điền vào chỗ trống?!
 
Upvote 0
E có một vấn đề mong cả nhà giúp đỡ. Trong file e đính kèm e muốn gạch chân các chữ trong ô, nếu độ rộng của chữ chưa bằng độ rộng của ô thì cũng gạch chân đến hết độ rộng của ô. Em cám ơn cả nhà.
Chữ đến đâu thì gạch chân đến đó chứ không có chuyện gạch chân đến hết cả ô nghe bạn.
 
Upvote 0
Chữ đến đâu thì gạch chân đến đó chứ không có chuyện gạch chân đến hết cả ô nghe bạn.
Vẫn có cách làm thủ công được, tuy nhiên khó biết được liệu một ô chứa bao nhiêu chữ! Chiều rộng, chiều cao, rồi còn bị merge nữa, rồi còn các kiểu chữ, size chữ; wrap text hay không wrap text, v.v...

224228
 
Lần chỉnh sửa cuối:
Upvote 0
Upvote 0
Cám ơn các bác đã quan tâm câu hỏi của e. Mục đích của e là tạo dòng kẻ thôi ạ (em muốn tạo dòng kẻ cho chữ). Nhưng vấn đề của e cũng chắc khó mà thực hiện được.
 
Upvote 0
Chủ Topic hỏi về VBA, nên không dễ gì để thực hiện như nội dung em nêu ở bài 6.
Nhưng nếu làm thủ công, anh có thể gạch được như em không nè (hình bài #6)? Hehe, phàm cái gì làm thủ công được thì VBA làm được (quay lại macro), chẳng qua việc tính toán mình bó tay hoặc rất chi là vất vả thôi.
 
Upvote 0
Merge 2 ô với nhau, kẻ viền ở giữa, đặt margin sát với chữ.
 
Upvote 0
Tôi nghĩ là thớt chưa làm cho nên có ý tưởng như vậy. Làm xong rồi sẽ thấy nó trông ghê bỏ bố, và bỏ không thực hiện nữa.
Vì vậy, vấn đề không phải là khó code, mà là uổng công cốc.
 
Upvote 0
Nhưng nếu làm thủ công, anh có thể gạch được như em không nè (hình bài #6)? Hehe, phàm cái gì làm thủ công được thì VBA làm được (quay lại macro), chẳng qua việc tính toán mình bó tay hoặc rất chi là vất vả thôi.
Không biết chủ Topic tô hết những chỗ trống trong Cell để làm gì? (thứ nhất khó nhìn,thứ hai tốn công).
Có những cái làm tay được nhưng khi code thì có thể tính trọc cả đầu.
 
Lần chỉnh sửa cuối:
Upvote 0
Không biết chủ Topic tô hết những chỗ trống trong Cell để làm gì? (thứ nhất khó nhìn,thứ hai tốn công).
Có những cái làm tay được nhưng khi code thì có thể tính trọc cả đầu.
E muốn những chữ đó như được viết trên một dòng kẻ ạ!
 
Upvote 0
Bài này có cách làm được. Ai hay xử lý văn bản trên Excel sẽ nghĩ ra cách.

224231
 
Upvote 0
E có một vấn đề mong cả nhà giúp đỡ. Trong file e đính kèm e muốn gạch chân các chữ trong ô, nếu độ rộng của chữ chưa bằng độ rộng của ô thì cũng gạch chân đến hết độ rộng của ô. Em cám ơn cả nhà.
Xem format trong file
 

File đính kèm

Upvote 0
Upvote 0
Upvote 0
Bác hướng dẫn cho e với ạ. E cám ơn bác!
Nếu xác định được bao nhiêu chữ một dòng thì tự động xuống dòng thì chắc anh chị diễn đàn hỗ trợ tốt hơn, còn không xác định được thì hiện tại chỉ có 2 kết quả.
aaaaaaaaa
aaaa

hoặc
aaaaaaaa
aaa_____
 
Upvote 0
E có một vấn đề mong cả nhà giúp đỡ. Trong file e đính kèm e muốn gạch chân các chữ trong ô, nếu độ rộng của chữ chưa bằng độ rộng của ô thì cũng gạch chân đến hết độ rộng của ô. Em cám ơn cả nhà.
Xem thử cách này xem được không?

Mã:
Private Sub Worksheet_Change(ByVal Target As Range)
    Dim change As Range
Set change = Intersect(Target, Range("A2:A100")) ' Thay doi vung muon dinh dang
Application.ScreenUpdating = False
If Not change Is Nothing Then
    Target.Font.Underline = True
    Target.WrapText = True
End If
With Target.Borders(xlEdgeBottom)
    .LineStyle = xlContinuous
End With
Application.ScreenUpdating = True
End Sub
 

File đính kèm

Upvote 0
Xem thử cách này xem được không?

Mã:
Private Sub Worksheet_Change(ByVal Target As Range)
    Dim change As Range
Set change = Intersect(Target, Range("A2:A100")) ' Thay doi vung muon dinh dang
Application.ScreenUpdating = False
If Not change Is Nothing Then
    Target.Font.Underline = True
    Target.WrapText = True
End If
With Target.Borders(xlEdgeBottom)
    .LineStyle = xlContinuous
End With
Application.ScreenUpdating = True
End Sub

Em cảm ơn bác đã giúp đỡ, nhưng trong trường hợp Meger cột A:cột E thì không được ạ!
 
Upvote 0
Em cảm ơn bác đã giúp đỡ, nhưng trong trường hợp Meger cột A:cột E thì không được ạ!
Bạn thử lại xem đúng ý chưa nhé
Trong module
Mã:
Option Explicit
Sub Merge()
    Dim AB As Single
    Dim A As Range
    Dim rng As Range
    Dim B As Double
    Dim Dorong As Double
    Dim ar As Variant
    Dim i As Integer
Application.ScreenUpdating = False
For i = 2 To Range("A" & Rows.Count).End(xlUp).Row
    On Error Resume Next
    Set rng = Range(Range("A" & i).MergeArea.Address)
    rng.MergeCells = False
    B = rng.Cells(1).ColumnWidth
    AB = 0
    For Each A In rng
        A.WrapText = True
        A.HorizontalAlignment = xlLeft
        A.VerticalAlignment = xlCenter
        A.Font.Underline = True
        A.Borders(xlEdgeBottom).LineStyle = xlContinuous
        AB = A.ColumnWidth + AB
    Next
    AB = AB + rng.Cells.Count * 0.66
    rng.Cells(1).ColumnWidth = AB
    rng.EntireRow.AutoFit
    Dorong = rng.RowHeight
    rng.Cells(1).ColumnWidth = B
    rng.MergeCells = True
    rng.RowHeight = Dorong
Next i
Application.ScreenUpdating = True
End Sub

Trong sheet 1
Mã:
Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
    If Not Intersect(Target, Range("A2:A" & Cells(Rows.Count, 1).End(xlUp).Row)) Is Nothing Then
        Call Merge
    End If
End Sub
 

File đính kèm

Upvote 0
Đến tận bây giờ đã có ai biết ý người ta như nào đâu mà đúng hay không đúng?

Bao nhiêu bài nhử nhử các kiểu, các thể loại mà có thấy chủ thớt nói cái ý của mình hình thù ra làm sao đâu?
Thì em đang mò cữ ngỡ bài 27 chắc đúng ý, ai ngờ lồi thêm cái merge đến hiện tại thú thật không biết chủ thớt muốn định dạng như vậy để làm gì nữa
 
Upvote 0
Thì em đang mò cữ ngỡ bài 27 chắc đúng ý, ai ngờ lồi thêm cái merge đến hiện tại thú thật không biết chủ thớt muốn định dạng như vậy để làm gì nữa
Cám ơn bác quan tâm. Yêu cầu của e được viết lại trong file đính kèm ạ. Em cám ơn bác nhiều
Bài đã được tự động gộp:

Đến tận bây giờ đã có ai biết ý người ta như nào đâu mà đúng hay không đúng?

Bao nhiêu bài nhử nhử các kiểu, các thể loại mà có thấy chủ thớt nói cái ý của mình hình thù ra làm sao đâu?
Cám ơn bác quan tâm. yêu cầu của e được viết rõ lại trong file đính kèm ạ.
 

File đính kèm

Upvote 0
Cám ơn bác quan tâm. yêu cầu của e được viết rõ lại trong file đính kèm ạ.
"2. Dữ liệu chuyển sang Sheet 2 được gạch chân như được viết trên 1 dòng kẻ"

Tới giờ này có thấy cái khúc màu đỏ kia hình thù như nào đâu?

Tiết mục chuột vờn mèo tiếp tục nào..
 
Upvote 0
...
Tiết mục chuột vờn mèo tiếp tục nào..
Diễn đàn này nhiều người mắc bệnh ma-sô-kít (*) lắm. Sẽ còn hỏi đoán dài dài.

(*) tiếng xưa. Bây giờ thì người ta chuộng tiếng Anh hơn, quý vị có thể gú gô từ khóa "masochism".
 
Upvote 0
Đoán mò thì thế này:

1. Chuỗi ký tự có thể nhập vào 1 ô hoặc nhiều ô được gộp thành một.
2. Chuỗi có thể tự gõ hoặc lấy từ nơi khác.
3. Chuỗi dài ngắn tùy ý. Do chiều rộng của ô có hạn nên ô sẽ luôn có WrapText = True.
4. Chuỗi có thể xuống dòng (Alt + Enter) ở giữa dòng ở một hoặc nhiều nơi bất kỳ trong chuỗi.

Bây giờ xin các masochist ra tay. :D

Lưu ý:
1. Do chủ thớt không bao giờ mô tả dữ liệu nên điểm 4 có thể tôi đoán mò sai.
2. Tưng tập tin lên chưa phải là đủ. Thậm chí tung tập tin lên cùng với mô tả yêu cầu chưa phải là tất cả. LUÔN LUÔN mô tả dạng dữ liệu. Một điều hiển nhiên thế mà không hiểu sao, hỡi các vị chủ thớt!
 
Lần chỉnh sửa cuối:
Upvote 0

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

Back
Top Bottom