Tạo label bằng macro

Liên hệ QC

haingo08tlt

Thành viên mới
Tham gia
4/7/09
Bài viết
30
Được thích
1
Hi All!
Mình đang gặp vấn đề thế này, mọi người chỉ giúp. Mình có 1 nút lệnh trong excel, mình muốn viết 1 macro để khi kích vào nút lệnh đó, nó sẽ tạo ra cho mình 1 label. Mọi người chỉ giúp
 
Hi All!
Mình đang gặp vấn đề thế này, mọi người chỉ giúp. Mình có 1 nút lệnh trong excel, mình muốn viết 1 macro để khi kích vào nút lệnh đó, nó sẽ tạo ra cho mình 1 label. Mọi người chỉ giúp
Tạo LABEL là tạo thế nào? Bạn hỏi cứ y như ĐÙA!
Trong khi chờ đợi giải thích rõ hơn, tôi gữi cho bạn cái "LABEL LÒNG LỢN" để tham khảo nhé
 

File đính kèm

Lần chỉnh sửa cuối:
Upvote 0
Hi !
Trong excel mình có thể thiết kế những nút nhấn, label,... từ thanh công cụ của thằng visual basic hay gì đó. Ý mình là chừ mình không kéo thả nữa, mình kéo thả 1 nút commandbutton sau đó viết macro, khi kích vào nút lệnh đó thì nó tạo ra 1 nhãn(label) giống như kéo thả zậy.
Thank!
 
Upvote 0
Hi All!
Mình đang gặp vấn đề thế này, mọi người chỉ giúp. Mình có 1 nút lệnh trong excel, mình muốn viết 1 macro để khi kích vào nút lệnh đó, nó sẽ tạo ra cho mình 1 label. Mọi người chỉ giúp
Tạo Label trên Userform thì dùng code sau nhé.

Mã:
Private Sub CommandButton1_Click()
   Dim lbl As Control
   Set lbl = Me.Controls.Add("Forms.Label.1")
    With lbl
        .Top = 10
        .Left = 5
        .Height = 20
        .Width = 60
        .Caption = "domfootwear"
        .BackColor = &HFFFF&
        .ForeColor = &H8000&
    End With
End Sub
 
Upvote 0
Hi!
Ý mình hỏi giống như ví dụ này. ở ví dụ này mình đã tạo ra 1 nút lệnh là cancel rồi. Chừ mình muốn tương tự nhưng tạo ra label có 1 Name gì do mình đặt (Họ Tên ) chẳng hạn
 

File đính kèm

Upvote 0
Hi!
Ý mình hỏi giống như ví dụ này. ở ví dụ này mình đã tạo ra 1 nút lệnh là cancel rồi. Chừ mình muốn tương tự nhưng tạo ra label có 1 Name gì do mình đặt (Họ Tên ) chẳng hạn
Ví dụ là vầy:
PHP:
Sub Test()
  With ActiveSheet.Buttons.Add(271.5, 92.25, 87, 27.75)
    .Characters.Text = "OK"
  End With
End Sub
 
Upvote 0
Hi!
Có lẽ bạn chưa hiểu ý mình. code như bạn thì mình đã viết rồi và có tệp đính kèm. Nhưng mình không muốn tạo dạng nút nhấn mà chỉ là một cái nhãn (label ) để hiển thị nội dung thôi.
Cái này làm có được không mà mình search trên mạng mà cũng chả thấy
Huynh nào đã gặp giúp mình với.
Thank!
 
Lần chỉnh sửa cuối:
Upvote 0
Hi!
Có lẽ bạn chưa hiểu ý mình. code như bạn thì mình đã viết rồi và có tệp đính kèm. Nhưng mình không muốn tạo dạng nút nhấn mà chỉ là một cái nhãn (label ) để hiển thị nội dung thôi.
Thank!

Bạn thử code sau nhé:

Mã:
Sub TaoLabel()
Dim Lbl As Label
 Set Lbl = ActiveSheet.Labels.Add(227.25, 93.75, 62.25, 36.75)
  With Lbl
   .Caption = "domfootwear"
  End With
Set Lbl = Nothing
End Sub
 
Upvote 0
Hi!
Có lẽ bạn chưa hiểu ý mình. code như bạn thì mình đã viết rồi và có tệp đính kèm. Nhưng mình không muốn tạo dạng nút nhấn mà chỉ là một cái nhãn (label ) để hiển thị nội dung thôi.
Thank!
Vậy thì Add cái Rectangle đi cho gọn
Ví dụ:
PHP:
Sub Test()
  With ActiveSheet.Shapes.AddShape(msoShapeRectangle, 265.5, 172.5, 119.25, 76.5)
    .TextFrame.Characters.Text = "HO VA TEN"
    .Name = "LB1"
  End With
End Sub
Làm được cái Buttons rồi thì những cái khác cũng tương tự thôi!
Hic...
----------------------
Bạn thử code sau nhé:

Mã:
Sub TaoLabel()
Dim Lbl As Label
 Set Lbl = ActiveSheet.Labels.Add(227.25, 93.75, 62.25, 36.75)
  With Lbl
   .Caption = "domfootwear"
  End With
Set Lbl = Nothing
End Sub
Nếu dùng Label trên thanh Forms thì có vẽ không đẹp... nó trong suốt, chẳng tô màu được!
 
Upvote 0
Hi !
Bạn đặt thuộc tính border, background, .... cho cái label đó được không? chỉ giúp luôn đi
Thank!
 
Upvote 0
Upvote 0
Không thể Record lại được thầy à, em cũng đang đau đầu, trên Userform thì ngon lành, nhưng ở worksheet thì không biết làm thế nào
Là tôi đang nói cái Rectangle ấy! Đấy là shape nên record macro thoải mái
Tôi hình dung tác giả đang muốn làm 1 cái giống như mail merge thì phải! (nên cần từng label để điền dữ liệu)
Hic...
----------
Ah mà bạn đang viết code cho object gì vậy? Sao lại không tô màu được?
 
Lần chỉnh sửa cuối:
Upvote 0
Hi all !
Mình có chỉnh lại code 1 chút như thế này nhưng lại nảy sinh 1 vấn đề sau. Không kiểm tra được name. Khi nhấp 2 lần thì nó báo lỗi name đã tồn tại. Ai xử lý giúp với. Code như sau:

Sub CreateLabel(LabelName As String, LabelTitle As String, Left As Integer, Top As Integer, Width As Integer, Height As Integer)
Dim LabelTemp As Label
Set LabelTemp = ActiveSheet.Labels.Add(Left, Top, Width, Height)
With LabelTemp
.Caption = LabelTitle
.Name = LabelName
End With
Set LabelTemp = Nothing
End Sub

Private Sub CommandButton3_Click()
CreateLabel2 "lbl_save1", "Save", 300, 300, 50, 50
End Sub
 
Upvote 0
Hi all !
Mình có chỉnh lại code 1 chút như thế này nhưng lại nảy sinh 1 vấn đề sau. Không kiểm tra được name. Khi nhấp 2 lần thì nó báo lỗi name đã tồn tại. Ai xử lý giúp với. Code như sau:

Sub CreateLabel(LabelName As String, LabelTitle As String, Left As Integer, Top As Integer, Width As Integer, Height As Integer)
Dim LabelTemp As Label
Set LabelTemp = ActiveSheet.Labels.Add(Left, Top, Width, Height)
With LabelTemp
.Caption = LabelTitle
.Name = LabelName
End With
Set LabelTemp = Nothing
End Sub

Private Sub CommandButton3_Click()
CreateLabel2 "lbl_save1", "Save", 300, 300, 50, 50
End Sub
Thì vầy xem:
PHP:
Sub CreateLabel(LabelName As String, LabelTitle As String, Left As Integer, Top As Integer, Width As Integer, Height As Integer)
  On Error Resume Next
  If ActiveSheet.Labels(LabelName) Is Nothing Then
    With ActiveSheet.Labels.Add(Left, Top, Width, Height)
      .Caption = LabelTitle
      .Name = LabelName
    End With
  End If
PHP:
Private Sub CommandButton1_Click()
  CreateLabel "lbl_save1", "Save", 300, 300, 50, 50
End Sub
 
Upvote 0
Hi all !
Mình có chỉnh lại code 1 chút như thế này nhưng lại nảy sinh 1 vấn đề sau. Không kiểm tra được name. Khi nhấp 2 lần thì nó báo lỗi name đã tồn tại. Ai xử lý giúp với. Code như sau:

Sub CreateLabel(LabelName As String, LabelTitle As String, Left As Integer, Top As Integer, Width As Integer, Height As Integer)
Dim LabelTemp As Label
Set LabelTemp = ActiveSheet.Labels.Add(Left, Top, Width, Height)
With LabelTemp
.Caption = LabelTitle
.Name = LabelName
End With
Set LabelTemp = Nothing
End Sub

Private Sub CommandButton3_Click()
CreateLabel2 "lbl_save1", "Save", 300, 300, 50, 50
End Sub
Mình đâu thấy gì lạ đâu bạn ? Vẫn chạy bình thường mà. Nhưng phải chỉnh lại tên cho khớp với UDF mà thôi.
Cho mình hỏi thêm là ý định bạn là gì, có thể bậc mí cho mọi người biết được không, có thể khi bạn nói ra ý định của bạn sẽ có những biện pháp tối ưu hơn
 
Upvote 0
Mình đâu thấy gì lạ đâu bạn ? Vẫn chạy bình thường mà. Nhưng phải chỉnh lại tên cho khớp với UDF mà thôi.
Cho mình hỏi thêm là ý định bạn là gì, có thể bậc mí cho mọi người biết được không, có thể khi bạn nói ra ý định của bạn sẽ có những biện pháp tối ưu hơn
Bất bình thường ở chổ là khi nhấp Button lần 2 thì nó sẽ tạo thêm 1 label nằm chồng lên lable ban đầu ---> Như vậy nếu nhấp nhiều lần, ta sẽ có hàng đóng Object không thể kiểm soát được!
Vì thế mà phải bẩy lổi, nếu object tồn tại rồi thì khỏi làm gì cả
 
Upvote 0
Theo em thì "chơi" luôn 20 cái label xếp theo thứ tự luôn. Khỏi mất công nhấn nhiều lần:

Mã:
Sub Test()
Dim i As Integer, lbl As Object
    For i = 1 To 20
     Set lbl = ActiveSheet.Labels.Add(5, 5, 70, 15)
      With lbl
        .Top = 10 + (i - 1) * .Height + 10
        .Left = 5
        .Caption = "domfootwear " & i
      End With
    Next i
End Sub
 
Upvote 0
Web KT

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

Back
Top Bottom