Tạo Marco Tự động điền Ký tự đầu cuối cho 1 chuỗi trong cell thực thi

Liên hệ QC

kinhvan69

Thành viên mới
Tham gia
15/3/10
Bài viết
14
Được thích
1
Các bác giúp em chủ đề này với ạ

Giả sử Trong ô A4. em có chuỗi: OBC

Bây giờ em muốn thiết kế 1 marco, khi em chọn ô A4 (hoặc bất kỳ ô nào), nó sẽ tự điền các ký tự ADM- vào trước và .2011 vào sau chuỗi đó

kết quả sẽ là: ADM-OBC.2011

Tương tự như vậy với việc chọn 1 lúc nhiều cell, ví dụ từ A4 - D4, click marco là có thể thêm các ký tự ADM- vào trước và .2011 vào sau chuỗi ký tự đã có sẵn trong ô ;;;;;;;;;;;

Các cao nhân giúp em với ạ -\\/.-\\/.-\\/.-\\/.

em chân thành cám ơn các bác

p/s: em muốn làm marco vì mục đích lâu dài, chứ dùng Replace của excel thì cũng khá mệt các bác ạ :(
 
Cái này sao phải dung VBA làm gì hả bạn. Chỉ cần dùng định dạng là ok rồi
Bạn chọn vùng cần thay đổi, chuột phải chon fomat cells > custom rồi bạn gõ "ADM-"@".2011" => ok
Bây giờ bạn thử gõ OBC vào bất kỳ ô nào trong vùng xem kết quả ntn. chúc thành công
 
Upvote 0
Cái này sao phải dung VBA làm gì hả bạn. Chỉ cần dùng định dạng là ok rồi
Bạn chọn vùng cần thay đổi, chuột phải chon fomat cells > custom rồi bạn gõ "ADM-"@".2011" => ok
Bây giờ bạn thử gõ OBC vào bất kỳ ô nào trong vùng xem kết quả ntn. chúc thành công

Cái chính là mình ko format như thế được vì bảng excel của mình có rất nhiều lỗ cần điền như vậy, ko phải là toàn bảng, chưa kể mình làm việc với nhiều bảng ko cùng cơ cấu, nên việc format sẽ mất thời gian, hix
 
Upvote 0
Các bác giúp em chủ đề này với ạ
Giả sử Trong ô A4. em có chuỗi: OBC
Bây giờ em muốn thiết kế 1 marco, khi em chọn ô A4 (hoặc bất kỳ ô nào), nó sẽ tự điền các ký tự ADM- vào trước và .2011 vào sau chuỗi đó
kết quả sẽ là: ADM-OBC.2011
Tương tự như vậy với việc chọn 1 lúc nhiều cell, ví dụ từ A4 - D4, click marco là có thể thêm các ký tự ADM- vào trước và .2011 vào sau chuỗi ký tự đã có sẵn trong ô ;;;;;;;;;;;
Các cao nhân giúp em với ạ -\\/.-\\/.-\\/.-\\/.
em chân thành cám ơn các bác
p/s: em muốn làm marco vì mục đích lâu dài, chứ dùng Replace của excel thì cũng khá mệt các bác ạ :(
Code chỉ cần như vầy chứ có gì đâu bạn:
PHP:
Sub DienDuLieu()
    Dim Cll As Range
    For Each Cll In Selection.SpecialCells(2)
        Cll.Value = "ADM-" & Cll.Value & ".2011"
    Next
End Sub
Bạn chọn ô/vùng (có thể liên tiếp hoặc cách quãng), nhấn Alt+F8, chạy Macro, code sẽ điền dữ liệu vào những ô chứa giá trị trong vùng được chọn. Hoặc bạn cũng có thể gán phím tắt cho Macro cho tiện.
Ngoài ra, bạn cũng có thể tùy biến số (2) ở trên cho phù hợp.
 
Lần chỉnh sửa cuối:
Upvote 0
Code chỉ cần như vầy chứ có gì đâu bạn:
PHP:
Sub DienDuLieu()
    Dim Cll As Range
    For Each Cll In Selection.SpecialCells(2)
        Cll.Value = "ADM-" & Cll.Value & ".2011"
    Next
End Sub
Bạn chọn ô/vùng (có thể liên tiếp hoặc cách quãng), nhấn Alt+F8, chạy Macro, code sẽ điền dữ liệu vào những ô chứa giá trị trong vùng được chọn. Hoặc bạn cũng có thể gán phím tắt cho Macro cho tiện.
Ngoài ra, bạn cũng có thể tùy biến số (2) ở trên cho phù hợp.

cám ơn bác trước để em thử luôn cho nó nóng ạ
 
Upvote 0
bác ôi, cái này ok rùi, chỉ có điều khi em click ô khác để run marco thì ô cũ lại bị điền dữ liệu, tại sao bác nhỉ
 
Upvote 0
bác ôi, cái này ok rùi, chỉ có điều khi em click ô khác để run marco thì ô cũ lại bị điền dữ liệu, tại sao bác nhỉ
Bạn thay code này thử xem:
PHP:
Sub DienDuLieu()
    Dim Cll As Range, Rng As Range
    
    On Error Resume Next
    If Selection.Count = 1 Then
        Set Rng = IIf(Len(Selection) > 0, Selection, Nothing)
    Else
        Set Rng = IIf(Selection.SpecialCells(2).Count > Selection.Count, Selection, Selection.SpecialCells(2))
    End If
    For Each Cll In Rng
        Cll.Value = "ADM-" & Cll.Value & ".2011"
    Next
End Sub
 
Upvote 0
hay quá, được rồi bác ơi, ngon lắm, cám ơn bác nhiều nhé &&&%$R
 
Upvote 0
Web KT

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

Back
Top Bottom