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
  1. #1
    Tham gia ngày
    06 2006
    Nơi Cư Ngụ
    Hà Nội
    Bài gởi
    5,697
    Cảm ơn
    7,983
    Được cảm ơn 21,201 lần trong 4,824 bài viết

    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. Có 6 thành viên cảm ơn PhanTuHuong về bài viết này:


  3. #2
    Tham gia ngày
    08 2006
    Bài gởi
    3,815
    Cảm ơn
    4,143
    Được cảm ơn 4,423 lần trong 2,270 bài viết
    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

  4. #3
    Tham gia ngày
    02 2007
    Bài gởi
    32
    Cảm ơn
    69
    Được cảm ơn 10 lần trong 9 bài viết
    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

  5. #4
    Tham gia ngày
    02 2007
    Nơi Cư Ngụ
    TP-Sóc Trăng
    Bài gởi
    2,078
    Cảm ơn
    1,092
    Được cảm ơn 2,026 lần trong 909 bài viết
    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

  6. #5
    Tham gia ngày
    08 2006
    Nơi Cư Ngụ
    TPHCM
    Bài gởi
    600
    Cảm ơn
    2,209
    Được cảm ơn 2,514 lần trong 594 bài viết
    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 !
    Yahoo Messenger: ngocv_hr // Skype: humanresourcemanagement // vungochuman@gmail.com
    ---------------------------------------------------
    Gieo suy nghĩ - sẽ gặt hành vi.
    Gieo hành vi - sẽ gặt thói quen.
    Gieo thói quen - sẽ gặt tính cách.
    Gieo tính cách - sẽ gặt số phận.

  7. Thành viên sau cảm ơn vungoc về bài viết này:


  8. #6
    Tham gia ngày
    05 2006
    Nơi Cư Ngụ
    Online
    Bài gởi
    2,015
    Cảm ơn
    3,872
    Được cảm ơn 11,360 lần trong 2,025 bài viết
    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.

  9. Có 2 thành viên cảm ơn OverAC về bài viết này:


  10. #7
    Tham gia ngày
    03 2007
    Nơi Cư Ngụ
    Biên Hòa, Đồng Nai
    Bài gởi
    5,810
    Cảm ơn
    3,449
    Được cảm ơn 6,464 lần trong 2,619 bài viết
    Hàm UPPER trong Excel có sẳn sao phải dùng đến VBA nhỉ?

  11. #8
    Tham gia ngày
    06 2006
    Nơi Cư Ngụ
    Hà Nội
    Bài gởi
    5,697
    Cảm ơn
    7,983
    Được cảm ơn 21,201 lần trong 4,824 bài viết
    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

  12. Thành viên sau cảm ơn PhanTuHuong về bài viết này:


  13. #9
    Tham gia ngày
    08 2006
    Bài gởi
    3,815
    Cảm ơn
    4,143
    Được cảm ơn 4,423 lần trong 2,270 bài viết
    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

  14. Có 2 thành viên cảm ơn ThuNghi về bài viết này:


  15. #10
    Tham gia ngày
    08 2006
    Nơi Cư Ngụ
    TP.HCM
    Bài gởi
    1,870
    Cảm ơn
    2,117
    Được cảm ơn 2,354 lần trong 1,115 bài viết
    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 !

  16. Có 6 thành viên cảm ơn tedaynui về bài viết này:


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.
  •  

Mudim v0.8 Tắt VNI Telex Viqr Tổng hợp
Chính tả Bỏ dấu kiểu mới  [Bật/Tắt (F9)]