[CLICK] học VBA ở Đà Nẵng tháng 5/2017

Diễn đàn giaiphapexcel.com tạm ngưng cho đăng bài mới để nâng cấp Xem chi tiết

Vào Fanpage của Giaiphapexcel tại đây https://www.facebook.com/giaiphapexcel.vn/

Link group Facebook chính thức của Giaiphapexcel: https://www.facebook.com/groups/797878780268042/


Trang 1/4 1 2 3 4 cuốicuối
Hiển thị kết quả tìm kiếm từ 1 đến 10 trên tổng số: 31

Ðề tài: Luôn mặc định chữ in hoa khi nhập dữ liệu vào bảng tính

  1. Luôn mặc định chữ in hoa khi nhập dữ liệu vào bảng tính

    Khi sử dụng kiểu gõ Unicode, để nhập chữ in hoa, thông thường phải sử dụng phím Caps Lock. Nhưng tôi có 1 cách chuyển tự động chuyển chữ thường thành chữ hoa bằng cách sử dụng VBA. Đầu tiên ấn Alt+F11, cửa sổ MVB hiện ra, sau đó chọn Sheet nào bạn muốn rồi bấm đúp để hiện cửa sổ code, sau đó copy dòng này vào:

    Code:
    Private Sub Worksheet_Change(ByVal Target As Range)
      If Not Application.Intersect(Target, Range("A1:O30")) Is Nothing Then
        Target.Value = UCase(Target.Value)
      End If
    End Sub
    Range("A1:O30") là vùng tuỳ chọn, hãy thử xem sao!

  2. Nhờ anh Hướng giải thích thêm về câu sau, tôi chỉ hiểu lờ mờ.
    Và thuật ngữ recordset, thấy đâu đó mà không hiểu.
    Cám ơn nhiều!
    If Not Application.Intersect(Target, Range("A1:O30")) Is Nothing

  3. Nếu được thì bác Hướng có thể giải thích thêm đoạn code này không?
    Trích Nguyên văn bởi PhanTuHuong
    [code]
    If Not Application.Intersect(Target, Range("A1:O30")) Is Nothing Then
    - Byval Target ý nghĩa là gì? Có phải là mình khai báo biến Target là range ko?
    Và đoạn code trên có phải là: "nếu Ô target mà mình chọn có giao (intersect) với khối ô đã chọn thì..."?
    Thanks bác trước!!!
    thay đổi nội dung bởi: funnyzui, 06-08-07 lúc 12:56 AM

  4. các bạn tham khảo ở địa chỉ nào có thể chuyển đổi chữ hoa, nhiều cách khác nữa đó
    http://www.giaiphapexcel.com/forum/s...ead.php?t=2738

    hoặc tại đây nữa nhé!

    http://www.giaiphapexcel.com/forum/s...ead.php?t=3164
    thay đổi nội dung bởi: ongtrungducmx25, 06-08-07 lúc 12:02 PM

  5. Trích Nguyên văn bởi PhanTuHuong
    Khi sử dụng kiểu gõ Unicode, để nhập chữ in hoa, thông thường phải sử dụng phím Caps Lock. Nhưng tôi có 1 cách chuyển tự động chuyển chữ thường thành chữ hoa bằng cách sử dụng VBA. Đầu tiên ấn Alt+F11, cửa sổ MVB hiện ra, sau đó chọn Sheet nào bạn muốn rồi bấm đúp để hiện cửa sổ code, sau đó copy dòng này vào:

    Code:
    Private Sub Worksheet_Change(ByVal Target As Range)
      If Not Application.Intersect(Target, Range("A1:O30")) Is Nothing Then
        Target.Value = UCase(Target.Value)
      End If
    End Sub
    Range("A1:O30") là vùng tuỳ chọn, hãy thử xem sao!
    Anh Hướng cho mình hỏi: Nếu muốn chuyển chữ thường sang chữa Hoa (các chữ đầu từ) thì sửa code như thế nào ?

    Cảm ơn anh !

  6. Trích Nguyên văn bởi ThuNghi
    Nhờ anh Hướng giải thích thêm về câu sau, tôi chỉ hiểu lờ mờ.
    Và thuật ngữ recordset, thấy đâu đó mà không hiểu.
    Cám ơn nhiều!
    Gởi anh ThuNghi,
    Intersect trong đoạn code của bác hướng nghĩa là phép giao (phép tính logic). Chứ không liên quan đến recordset. Để tìm hiểu về recordset bác hãy thử tìm các topic về ADO nhé.

    Em nói thêm về ý nghĩa đoạn code:
    Code:
    Not Application.Intersect(Target, Range("A1:O30")) Is Nothing
    Đoạn này có ý nghĩa xem xét khu vực nhập liệu. Nếu vược ra ngoài vùng A1:O30 thì không sét. Chỉ có vậy thôi àh.

  7. #7
    Hàm UPPER trong Excel có sẳn sao phải dùng đến VBA nhỉ?

  8. Trích Nguyên văn bởi anhtuan1066
    Hàm UPPER trong Excel có sẳn sao phải dùng đến VBA nhỉ?
    Nếu bảng tính của bạn có nhiều Text thì chỉ gõ tên hàm cũng ốm!

    Not Application.Intersect(Target, Range("A1:O30")) Is Nothing
    Intersect lấy giao của Target với vùng ta đặt, hai lần của phủ định có nghĩa là khẳng định (có giao nhau), khi đó lệnh mới có tác dụng. Ngoài vùng giao nhau thì vô tác dụng. Bác SD_AQ đã đề cập đến phương thức Intersect rồi đó.
    thay đổi nội dung bởi: PhanTuHuong, 06-08-07 lúc 06:24 PM

  9. Anh Hướng cho mình hỏi: Nếu muốn chuyển chữ thường sang chữa Hoa (các chữ đầu từ) thì sửa code như thế nào ?
    Tôi xào nấu các code của các bạn tạo ra code này cho Vũ Ngọc.
    Nhờ các Mod trau chuốt hộ để tôi có thể làm tốt hơn.
    Private Sub Worksheet_Change(ByVal Target As Range)
    Dim FirstText As String, LastText As String, Text As String
    Dim Txt As String
    If Not Application.Intersect(Target, Range("A1:A30")) Is Nothing Then
    'On Error GoTo bien:
    Txt = Target.Value
    Txt = Application.WorksheetFunction.Trim(Txt)
    FirstText = ""
    Text = ""
    LastText = Right(Txt, Len(Txt) - InStrRev(Txt, " "))
    LastText = UCase(Left(LastText, 1)) & Right(LastText, Len(LastText) - 1)
    i = 1
    Do While i > 0 And InStr(1, Txt, " ") > 0
    FirstText = Application.WorksheetFunction.Trim(Left(Txt, InStr(1, Txt, " ")))
    FirstText = UCase(Left(FirstText, 1)) & Right(FirstText, Len(FirstText) - 1)
    Text = Text & " " & FirstText
    i = Len(FirstText)
    Txt = Application.WorksheetFunction.Trim(Right(Txt, Len(Txt) - i))
    Loop
    Text = Text & " " & LastText
    Target.Value = Application.WorksheetFunction.Trim(Text)
    'bien:
    End If
    End Sub

  10. Trích Nguyên văn bởi vungoc
    Anh Hướng cho mình hỏi: Nếu muốn chuyển chữ thường sang chữa Hoa (các chữ đầu từ) thì sửa code như thế nào ?
    Chào Anh
    Anh dùng thử code này xem sao nhé
    Code:
    Private Sub Worksheet_Change(ByVal Target As Range)
      If Not Application.Intersect(Target, Range("A1:O30")) Is Nothing Then
        Target.Value = Application.Proper(Application.Trim(Target.Value))
      End If
    End Sub
    Thân !

Trang 1/4 1 2 3 4 cuốicuối

Thông tin về chủ đề này

Users Browsing this Thread

Hiện có 1 người đang xem đề tài này. (0 thành viên và 1 khách)

Bookmarks

Bookmarks

Quyền Sử Dụng Ở Diễn Ðàn

  • Bạn không thể đăng đề tài mới
  • Bạn không thể đăng trả lời
  • Bạn không thể đăng file đính kèm.
  • Bạn không thể sửa bài viết.
  •