Tạo code / hàm dùng riêng

Liên hệ QC

manhhung12

Thành viên thường trực
Tham gia
20/3/08
Bài viết
232
Được thích
88
Chào các bạn.

Tôi muốn tạo 1 hàm dùng riêng(cách tạo hàm và cho kích hoạt hàm trong ứng dụng) cho các file exell của mình. Ví dụ hàm để tạo font chữ cho một cell nào đó thì tôi chỉ cần gõ tên hàm và thông số tham chiếu trong công thức (cell).

Mong các bạn giúp. Cảm ơn nhiều
 
Hàm tạo font chử là sao ta? Tôi nghĩ đã là hàm thì mục đích chính của nó là lấy kết quả theo 1 loạt phép tính nào đó do ta viết code... Vậy nếu là hàm thì chỉ có thể lấy thông tin về font chứ sao "tạo" font dc...
Cụ thể bạn muốn gì đây? Muốn tạo hàm gì? Còn việc cho hàm ấy thành hàm có tác dụng trên toàn Excel thì chỉ việc save as nó thành .xla rồi Add-in nó thôi
ANH TUẤN
 
Upvote 0
Ah, ý tôi muốn định đạng cho dữ liệu theo cách riêng của mình đáy mà. Chẳng hạn tôi viết công thức tại 1 ô nào đó như sau: =type1(a1) & " to: "&type2(a2) -> text trên a1 in nghiêng khổ chữ 14 (do hàm type1()), text trên a2 in đậm khổ chữ 20 (hàm type2())
 
Upvote 0
Ah, ý tôi muốn định đạng cho dữ liệu theo cách riêng của mình đáy mà. Chẳng hạn tôi viết công thức tại 1 ô nào đó như sau: =type1(a1) & " to: "&type2(a2) -> text trên a1 in nghiêng khổ chữ 14 (do hàm type1()), text trên a2 in đậm khổ chữ 20 (hàm type2())
Tôi đoán công việc này chỉ có thể làm thành 1 sub, mổi lần muốn chạy thì bấm nút gọi sub chứ ko thể là 1 hàm dc đâu! Bạn suy nghĩ logic vấn đề xem, định dạng sao có thể là 1 hàm dc! Hàm chỉ "lấy đồ ra" chứ ko thể "cho đồ vào" dc, nghĩa là nó chỉ có thể xem cell nào đó đang dc định dạng như thế nào (lấy ra) chứ nó ko thể làm nhiệm vụ định dạng (cho vào).. bạn hiểu ko?
ANH TUẤN
 
Upvote 0
Mình xin cụ thể hóa í tưởng của AnhTuan1066 đây

Tôi đoán công việc này chỉ có thể làm thành 1 sub, mổi lần muốn chạy thì bấm nút gọi sub . . .

Bạn chép mảco này vô CS VBE, & gán cho nó tổ hợp phím nóng (VD CTRL+ALT+F)
Mỗi lần cần định dạng vùng nào đó, (không nhất thiết phải liên tục) thì ta nhấn tổ hợp phím thân thương & ngồi rung đùi thôi;
Nếu muốn định dạng các kiểu khác thì:
* Sửa lại các dòng lệnh trong mảco;
* Viết thêm mảco tương tự!
PHP:
Option Explicit
Sub FormattingRanges()
 Dim Rng As Range:
 
 Set Rng = Application.InputBox("HAY CHON VUNG CAN DINH DANG:", _
    "GPE.COM", Type:=8)
    With Rng
        .HorizontalAlignment = xlCenter:    .VerticalAlignment = xlCenter
    End With
    With Rng.Font
        .Name = "Arial":                    .Size = 14
        .ColorIndex = 36:                   .Bold = True
    End With
    With Rng.Interior
        .ColorIndex = 3:                    .Pattern = xlSolid
    End With
End Sub
 
Upvote 0
Em hiểu ý bạn ấy nhưng em chỉ có thể cho biết nó có được định dạng nghiêng hay đậm hay không thôi. Chứ không biết làm sao cho đoạn Text thay đổi kiểu chữ được. Ví dụ như sau:
Mã:
[B]Function FontItalic(a As Range) FontItalic = a.Font.Italic End Function [/B]
Cái này có thể cho biết ô này có được định dạng font Italic hay không thôi. Bác SA_DQ, bác có thể làm tăng chức năng lên được không. Như viết thành 1 hàm có cú pháp như sau: [CODE]=FontItalic(,)[/CODE] Nếu được thì ta có thể ghép hàm lại bằng cách dùng lệnh (&) vậy thôi. Thì được kết quả như ý. "=FontItalic(A1,8)&FontBold(B1,8)&..."
 
Lần chỉnh sửa cuối:
Upvote 0
Dù làm được thì kết quả trả về vẫn mang định dạng của ô hiện tại.
 
Upvote 0
Em hiểu ý bạn ấy nhưng em chỉ có thể cho biết nó có được định dạng nghiêng hay đậm hay không thôi. Chứ không biết làm sao cho đoạn Text thay đổi kiểu chữ được. Ví dụ như sau:
Mã:
[B]Function FontItalic(a As Range)
FontItalic = a.Font.Italic
End Function
[/B]
Cái này có thể cho biết ô này có được định dạng font Italic hay không thôi. Bác SA_DQ, bác có thể làm tăng chức năng lên được không. Như viết thành 1 hàm có cú pháp như sau:
[CODE]=FontItalic(<vị trí>,<size>)[/code]
Nếu được thì ta có thể ghép hàm lại bằng cách dùng lệnh (&) vậy thôi. Thì được kết quả như ý.
"=FontItalic(A1,8)&FontBold(B1,8)&..."
Từ hướng dẩn của anh Sa, các bạn có thể hoàn toàn làm dc như ý mà... Thậm chí cứ record macro cũng ko có vấn đề...
Theo tôi, nếu các bạn thường xuyên dùng 1 vài Style nào đó thì cứ ghi mỗi Style thành 1 module... lúc cần Style nào thì gọi module ấy ra...
Hi... hi... Còn tôi thì vẫn hay dùng Format Painter, thấy cũng tiện ko kém!
ANH TUẤN
 
Upvote 0
Em hiểu ý bạn ấy nhưng em chỉ có thể cho biết nó có được định dạng nghiêng hay đậm hay không thôi. Chứ không biết làm sao cho đoạn Text thay đổi kiểu chữ được. Ví dụ như sau:
Mã:
[B]Function FontItalic(a As Range)
FontItalic = a.Font.Italic
End Function
[/B]
Cái này có thể cho biết ô này có được định dạng font Italic hay không thôi. Bác SA_DQ, bác có thể làm tăng chức năng lên được không. Như viết thành 1 hàm có cú pháp như sau:
[CODE]=FontItalic(<vị trí>,<size>)[/code]
Nếu được thì ta có thể ghép hàm lại bằng cách dùng lệnh (&) vậy thôi. Thì được kết quả như ý.
"=FontItalic(A1,8)&FontBold(B1,8)&..."
Đúng rồi, nhưng ta có thể dùng 1 stye với nhiều đinh dạng. Ví du:
Stye1 gồm chữ in đậm/size 20/màu đỏ/... hoặc đẻ các kiểu chữ/size/color cũng được chuyển bằng tham số vidụ: stye1(a as ...., b as ...,...); trong đó a=range/b=size/c=fonttype/d=fontname/...
 
Upvote 0
Từ hướng dẩn của anh Sa, các bạn có thể hoàn toàn làm dc như ý mà... Thậm chí cứ record macro cũng ko có vấn đề...
Theo tôi, nếu các bạn thường xuyên dùng 1 vài Style nào đó thì cứ ghi mỗi Style thành 1 module... lúc cần Style nào thì gọi module ấy ra...
Hi... hi... Còn tôi thì vẫn hay dùng Format Painter, thấy cũng tiện ko kém!
ANH TUẤN



Vậy làm sao để gán phím tắt cho cái Format Painter được vậy anh?

giúp em với
 
Upvote 0
Vậy làm sao để gán phím tắt cho cái Format Painter được vậy anh?

giúp em với
Format Painter này dường như dành cho việc thao tác bằng chuột.. e rằng sẽ ko có phím tắt cho nó...
Xem:
Summary: The Format Painter tool is very handy when you want to quickly duplicate formatting form one place to another. The tool virtually requires the use of the mouse, however, as there is no built-in shortcut to use it
ANH TUẤN
 
Upvote 0
Đúng rồi, nhưng ta có thể dùng 1 stye với nhiều đinh dạng. Ví du:
Stye1 gồm chữ in đậm/size 20/màu đỏ/... hoặc đẻ các kiểu chữ/size/color cũng được chuyển bằng tham số vidụ: stye1(a as ...., b as ...,...); trong đó a=range/b=size/c=fonttype/d=fontname/...

Bạn có thể làm giúp mình một ví dụ được không . Mình đang cần làm nhưng không biết phải làm thế nào. Cảm ơn rất nhiều.
 
Upvote 0
Web KT

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

Back
Top Bottom