• Khung trình chiếu

VBA - Tách họ và tên bằng cách sử dụng hàm tự tạo trong Excel

Các nội dung liên quan đến việc lập trình bằng những ngôn ngữ chưa được liệt kê ở trên
Gửi hồi đáp
Ảnh đại diện người dùng
huynhbuutam
Nhà sáng lập
Nhà sáng lập
Các bài viết: 112
Đã gia nhập lúc: T3 31 Th8, 2021 22:04
Địa điểm: Trường THCS Châu Lăng
Tên thật: Huỳnh Bửu Tâm

VBA - Tách họ và tên bằng cách sử dụng hàm tự tạo trong Excel

Bài viết bởi huynhbuutam »

1. Cách nạp hàm tự tạo
+ Từ giao diện chương trình Excel, nhấn tổ hợp phím tắt "Alt + F11"
+ Từ cửa sổ Microsoft Visual Basic, mở bảng chọn "Insert -> Module"
+ Sao chép và dán đoạn mã phí dưới vào vùng soạn thảo trong cửa sổ Microsoft Visual Basic
+ Nhấn tổ hợp phím "Alt + Q" và bắt đầu sử dụng

2. Cú pháp sử dụng
+ Tách họ: =TachHo(<Địa chỉ ô hoặc Chuỗi văn bản>)
+ Tách họ đệm: =TachHoDem(<Địa chỉ ô hoặc Chuỗi văn bản>)
+ Tách tên: =TachTen(<Địa chỉ ô hoặc Chuỗi văn bản>)

3. Nội dung các hàm

Mã: Chọn tất cả

Function TachHoVaDem(str As String) As String
	Dim strLen As Integer
	Dim j As Integer
	str = Trim(str)
	strLen = Len(str)
	For j = strLen To 1 Step -1
		If Mid(str, j, 1) = " " Then
			Exit For
		End If
	Next
	If j > 1 Then
		TachHoVaDem = Application.Trim(Mid(str, 1, j))
	Else
		TachHoVaDem = str
	End If
End Function

Function TachHo(str As String) As String
	Dim strLen As Integer
	Dim i As Integer
	str = Trim(str)
	strLen = Len(str)
	For i = 1 To strLen
		If Mid(str, i, 1) = " " Then
			Exit For
		End If
	Next
	If Trim(Mid(str, 1, i - 1)) = str Then
		TachHo = ""
	Else
		TachHo = Trim(Mid(str, 1, i - 1))
	End If
End Function

Function TachHoDem(str As String) As String
	Dim strLen As Integer
	Dim i, j As Integer
	str = Trim(str)
	strLen = Len(str)
	For i = 1 To strLen
		If Mid(str, i, 1) = " " Then
			Exit For
		End If
	Next
	For j = strLen To 1 Step -1
		If Mid(str, j, 1) = " " Then
			Exit For
		End If
	Next
	If i < j + 1 Then
		TachHoDem = Trim(Mid(str, i, j - i + 1))
	Else
		TachHoDem = ""
	End If
End Function

Function TachTen(str As String) As String
	Dim strLen As Integer
	Dim j As Integer
	str = Trim(str)
	strLen = Len(str)
	For j = strLen To 1 Step -1
		If Mid(str, j, 1) = " " Then
			Exit For
		End If
	Next
	If j > 1 Then
		TachTen = Trim(Mid(str, j + 1, strLen - j))
	Else
		TachTen = str
	End If
End Function
Gửi hồi đáp
  • Similar Topics
    Các hồi đáp
    Lượt xem
    Bài viết cuối