làm sao để đánh hoa đầu dòng trong excel (1 người xem)

  • Thread starter Thread starter cech
  • Ngày gửi Ngày gửi
Liên hệ QC

Người dùng đang xem chủ đề này

cech

Thành viên mới
Tham gia
2/12/07
Bài viết
1
Được thích
0
em là người mới gia nhập forum, trình độ về excel rất kém. cho em hỏi làm sao để đánh chữ hoa đầu dòng cho tên của người, chẳng lẽ mỗi lần đánh như vậy lại phải bấm phím CAPS LOCK, có cách nào khác ngoài cách đó nữa không!$@!!
vd: Nguyễn Thị Hoa
 
Dim Vungchon As Range
With Selection
For Each Vungchon In Selection
Vungchon.Value = UCase(Vungchon.Value)
Next Vungchon
End With
End Sub
Mục đích dùng để chuyển chử Hoa ở những vùng mình chọn trong tất cả các sheet

Bạn có thể bỏ luôn dòng lệnh
With Selection - vì không cẩn thiết!

Rất hân hạnh!
 
Upvote 0
Xin cho hỏi mình đã chép code do anhtuan1066 hướng dẫn về làm thử, và thấy bình thường nếu như từ B1:C10 có dữ liệu. Nhưng khi xóa dữ liệu thì sẽ xuất hiện thông báo lỗi đầu hoặc cuối. Mong các bạn xem và hướng dẫn giúp mình bẫy lỗi tí. Cảm ơn rất nhiều.
 
Upvote 0
Đã Edit lại code của bạn mymichau, dùng để đổi chữ hoa đầu dòng của các ô được chọn:
Sub DOICHU()
'
' DOICHU Macro
' Macro recorded 7/19/2010 by May3
'
' Keyboard Shortcut: Ctrl+i
'
Dim Vungchon As Range
Dim Dau, Cuoi As String
For Each Vungchon In Selection
Dau = Left(Vungchon, 1)
Cuoi = Mid(Vungchon, 2, Len(Vungchon) - 1)
Vungchon.Value = UCase(Dau) & Cuoi
Next Vungchon

End Sub
 
Upvote 0
Cái này copy đoạn code dán vào đâu vậy bạn, mình ko biết nhiều về excel lắm, mong bạn hướng dẫn giúp với
 
Upvote 0
Dùng Intersect bằng cách nào vậy bác chỉ giùm em với
em xài Excel 2010 ko tìm thấy Intersect đâu cả
thanks bác
 
Upvote 0
Hic mình ngu excell lăm
cho mình hỏi nhập
Private Sub Worksheet_Change(ByVal Target As Range)

If
Not Intersect(Union(Range("A1:A10000"), Range("C1:C10000"), Range("E1:E10000")), Target) Is Nothing Then
Application
.EnableEvents = False
Target
.Value = UCase$(Left$(Target.Value, 1)) & _
Mid
$(Target.Value, 2, Len(Target.Value) - 1)
Application.EnableEvents = True
End
If
End Sub
vô chỗ nào vậy
tức là làm khi muốn nhập một code thì nhập vô chỗ nào , nhập trên thanh fomular bả hả ban
thank nhiều nha
 
Upvote 0
Anh em cho em hỏi là nhập xong đoạn mã thì làm như nào tiếp, e không hiểu?
 
Upvote 0
Em đang dùng Ex 2007, em nhập đoạn mã vào View Codo xong rồi không biết làm thế nào nữa. Mà làm thế không biết có đúng không.
 
Upvote 0
Giã sử bạn muốn viết HOA duy nhất 1 chử đầu tiên, và muốn code có tác dụng trong vùng B1:C10 thì code như sau:
Mã:
Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
Dim Dau, Cuoi As String
If Not Intersect(Range("[B][COLOR=red]B1:C10[/COLOR][/B]"), Target) Is Nothing Then
    Dau = Left(Target, 1)
    Cuoi = Mid(Target, 2, Len(Target) - 1)
    Application.EnableEvents = False
    Target.Value = UCase(Dau) & Cuoi
    Application.EnableEvents = True
End If
End Sub
Vùng mà bạn quan tâm nằm ở chử màu đỏ ấy
Cho em hỏi em kg muốn sử dụng sự kiện Worksheet_Change
Em sửa code thành
Mã:
Sub ChuHoa()
Dim Dau, Cuoi As String
[COLOR=#ff0000]If Not Intersect(Range("B1:C10"), Target) Is Nothing Then[/COLOR]
    Dau = Left(Target, 1)
    Cuoi = Mid(Target, 2, Len(Target) - 1)
    Application.EnableEvents = False
    Target.Value = UCase(Dau) & Cuoi
    Application.EnableEvents = True
End If
End Sub
Thì bị báo lỗi (dòng màu đỏ) xin hỏi cách khắc fục. Xin cảm ơn
 
Upvote 0
Cho em hỏi em kg muốn sử dụng sự kiện Worksheet_Change
Em sửa code thành
Mã:
Sub ChuHoa()
Dim Dau, Cuoi As String
[COLOR=#ff0000]If Not Intersect(Range("B1:C10"), Target) Is Nothing Then[/COLOR]
    Dau = Left(Target, 1)
    Cuoi = Mid(Target, 2, Len(Target) - 1)
    Application.EnableEvents = False
    Target.Value = UCase(Dau) & Cuoi
    Application.EnableEvents = True
End If
End Sub
Thì bị báo lỗi (dòng màu đỏ) xin hỏi cách khắc fục. Xin cảm ơn
Bạn thay Code trên bởi Code dưới đây:
PHP:
Sub ChuHoaDauCau()
     On Error Resume Next
     Dim Cll  As Range
     For Each Cll In Range("B1:C30")
          If Len(Cll.Value) >= 2 Then
               Cll.Value = UCase(Left(Cll.Value, 1)) & _
                    LCase(Right(Cll.Value, (Len(Cll.Value) - 1)))
          End If
     Next
     On Error GoTo 0
End Sub

- Tham khảo File đính kèm bạn nhé
 

File đính kèm

Lần chỉnh sửa cuối:
Upvote 0
Bạn thay Code trên bởi Code dưới đây:
PHP:
Sub ChuHoaDauCau()
     On Error Resume Next
     Dim Cll  As Range
     For Each Cll In Range("B1:C30")
          If Len(Cll.Value) >= 2 Then
               Cll.Value = UCase(Left(Cll.Value, 1)) & _
                    LCase(Right(Cll.Value, (Len(Cll.Value) - 1)))
          End If
     Next
     On Error GoTo 0
End Sub

- Tham khảo File đính kèm bạn nhé
Cảm ơn bạn
Nhưng code này sẽ làm những từ được viết hoa trong câu thì sau khi chạy code thì sẽ thành chữ thường
Ví dụ: anh Thu
Thì sẽ thành
Anh thu
Tôi muốn nó không sửa những từ đã được viết hoa trong câu. Xin cảm ơn
 
Upvote 0
Cảm ơn bạn
Nhưng code này sẽ làm những từ được viết hoa trong câu thì sau khi chạy code thì sẽ thành chữ thường
Ví dụ: anh Thu
Thì sẽ thành
Anh thu
Tôi muốn nó không sửa những từ đã được viết hoa trong câu. Xin cảm ơn

Chỗ nào có LCase thì bỏ đi, chẳng hạn:
Mã:
LCase(Right(Cll.Value, (Len(Cll.Value) - 1)))
thì sửa thành:
Mã:
Right(Cll.Value, (Len(Cll.Value) - 1))
ngoài ra có thể sửa đoạn trên thành vầy sẽ gọn hơn:
Mã:
Mid(Cll.Value, 2)
 
Upvote 0
Banj xem nhé :
PHP:
Private Sub Worksheet_Change(ByVal Target As Range)

If Not Intersect(Union(Range("A1:A10000"), Range("C1:C10000"), Range("E1:E10000")), Target) Is Nothing Then
    Application.EnableEvents = False
    Target.Value = UCase$(Left$(Target.Value, 1)) & _
                    Mid$(Target.Value, 2, Len(Target.Value) - 1)
    Application.EnableEvents = True
End If
End Sub

Thân!
hi anh ơi, em muốn tạo chữ in hoa đầu từ cho tất cả các sheet nhưng em làm như này không được anh ạ, anh xem giúp em với, em muốn định dạng chữ in hoa đầu từ cho tất cả các sheet trong 1 phai ở 2 cột D (họ tên) và cột E (địa chỉ). anh xem giúp được không ạ, em cám ơn anh ạ
 

File đính kèm

Upvote 0
Web KT

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

Back
Top Bottom