LÀM CHO TEXT TRONG TEXTBOX QUAY 90 ĐỘ (orientation)

Liên hệ QC

minh duc le

Thành viên mới
Tham gia
9/11/07
Bài viết
18
Được thích
13
Tôi là một thành viên chập chững với VBA, hiện cũng đang tạo một số công cụ VBA nhỏ trong công việc của mình. Co vấn đề nhờ mọi người giúp đỡ:

- Tôi muốn tạo một dòng Text theo chiều thẳng đứng nhưng không muốn thay đổi dòng cột trong Excel. Nhờ mọi người xem thư co cách nào chỉ giúp?
- Phương án khác tạo ra một TextBox nhưng tôi không biết giải thuật để tạo Text thẳng đứng. (Upward)

Trân Trọng.
 
Tôi là một thành viên chập chững với VBA, hiện cũng đang tạo một số công cụ VBA nhỏ trong công việc của mình. Co vấn đề nhờ mọi người giúp đỡ:

- Tôi muốn tạo một dòng Text theo chiều thẳng đứng nhưng không muốn thay đổi dòng cột trong Excel. Nhờ mọi người xem thư co cách nào chỉ giúp?
- Phương án khác tạo ra một TextBox nhưng tôi không biết giải thuật để tạo Text thẳng đứng. (Upward)

Trân Trọng.


Cách đơn giản là bạn ghi một macro - các thao tác chuyển text đứng như mong muốn _> bấm Alt+F11 xem trong Module 1 Macro làm việc gì -> tìm ra được thuộc tính cần viết trong lệnh của textbox shape thế nào

Ví dụ 1 macro tôi ghi và chuyển nguyên ra đây bạn xem nhé

PHP:
Sub Macro1()
'
' Macro1 Macro
' Macro recorded 27/05/2008 by tigertiger
'

'
    ActiveSheet.Shapes.AddTextbox(msoTextOrientationHorizontal, 430.5, 148.5, _
        88.5, 150#).Select
    Selection.Characters.Text = "dgvDGVBDs ADSgGFSDggSDG sdg dsdsgsGD dsg S"
    With Selection.Characters(Start:=1, Length:=42).Font
        .Name = "Arial"
        .FontStyle = "Regular"
        .Size = 10
        .Strikethrough = False
        .Superscript = False
        .Subscript = False
        .OutlineFont = False
        .Shadow = False
        .Underline = xlUnderlineStyleNone
        .ColorIndex = xlAutomatic
    End With
    With Selection
        .HorizontalAlignment = xlLeft
        .VerticalAlignment = xlTop
        .ReadingOrder = xlContext
        .Orientation = xlUpward
        .AutoSize = False
    End With
End Sub
 
Upvote 0
Chào bạn,

Minh lại phải làm phiền bạn nữa rồi, nếu mình có sẵn một TextBox hoặc TextBox Tool muốn link đến một cell và hiển thị Text đứng như trên thi phải làm thế nào.

Xin lỗi bạn mình thiếu rồi, thực ra mình muốn dùng một động tác khác như Button chẳng hạn để điều khiển. Không dùng phát biểu "Selection".
 
Upvote 0
Xin lỗi bạn mình thiếu rồi, thực ra mình muốn dùng một động tác khác như Button chẳng hạn để điều khiển. Không dùng phát biểu "Selection".

Bạn chép đoạn code này vào Module:
PHP:
Sub TextDung()
With Selection
        .HorizontalAlignment = xlGeneral
        .VerticalAlignment = xlBottom
        .WrapText = False
        .Orientation = xlVertical
        .AddIndent = False
        .IndentLevel = 0
        .ShrinkToFit = False
        .ReadingOrder = xlContext
        .MergeCells = False
    End With
end sub

Sau đó tạo một nút command trên sheet với lệnh xử lý khi nút được ấn:

PHP:
Private Sub cmdTextDung_Click()
Call TextDung
End Sub

Bạn chọn những ô nào cần dựng đứng text và click nút thử xem.
 
Upvote 0
Rất cảm ơn những giúp đỡ rất hữu ích của mọi người.

Nhưng bạn Ca_dafi ơi, bạn có thể giúp mình làm công việc tương tự như vậy nhưng cho TextBox được không bạn?

Than!
 
Upvote 0
Mình đã tiếp tục nghiên cứu cái này nhưng vẫn chưa giải đáp được bài toán của mình. Nhờ các bạn giúp tiếp được không vậy?

Bài toán thế này

- Mình có một ô chứa dữ liệu và một textbox.
- Mình muốn tạo một nút nhấn CommandButton để khi nhấn vào nút nhấn thì TetxBox sẽ hiện giá trị trong ô chứa dữ liệu.
- Cài khó mà mình gặp phải ở đây là mình muốn đặt con trỏ bất cứ chỗ nào cũng có thể thực hiện được. (Các bài trước của các bạn thì phải đặt con trỏ tại ô chứa dữ liệu).

Thân chào.
 
Upvote 0
Thế này nhé, khỏi nút bấm, khỏi code kiết luôn.
 

File đính kèm

Upvote 0
Thế này nhé, khỏi nút bấm, khỏi code kiết luôn.

Cảm ơn bạn rất nhiều, đúng là như thế này thật đơn giản và hiệu quả. Mình đang dùng cách này rất tốt cho ứng dụng của mình.

Tuy nhiên, trong tương lai mình muốn tạo một trình VBA để kiểm duyệt trước khi lấy kết quả vì vậy mình vẫn muốn sau khi hoàn tất phần dữ liệu lần cuối cùng mới dùng Buton để chuyển dữ liệu sang sheet kết quả. Bạn có thể giúp mình tạo một VBA cho bài toán này không.

Cảm ơn, chúc bạn thành công trong công việc.
 
Upvote 0
Bạn sử dụng cách nào trong 2 cách của file bài #8?
Tuy nhiên cả 2 cách đều không cần code VBA nếu bạn làm như sau:
- Dùng định dạng ô (cách 2): Bạn cứ định dạng alignment cho các ô cần thiết ở sheet kết quả như ý muốn, khi dùng code VBA gán kết quả sau khi kiểm tra vào chỉ gán giá trị, sẽ không bị thay đổi định dạng.
- Dùng textbox (cách 1): Bạn cũng định dạng sẵn alignment của textbox, mỗi textbox (vẽ bằng text box của Drawing) bạn ghi trên thanh công thức bằng giá trị của 1 ô định trước thí dụ =A1. Sau này dùng VBA gán giá trị cho sheet kết quả trong đó có ô A1, thì textbox thay đổi theo, không mất định dạng.

Nghĩa là định dạng chỉ làm 1 lần, 1 lần, 1 lần,....
 
Upvote 0
Web KT

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

Back
Top Bottom