Xử Lý Chuỗi Ký Tự Bằng Vba | Giải Pháp Excel

Giải Pháp Excel
  • Trang chủ Có gì mới Hoạt động gần nhất Tác giả
  • Diễn đàn Tìm bài viết mới Tìm theo chuyên mục
  • Video New Video về Excel Video về tin học khác Tin tức về tin học chung
  • Thông tin mới Featured content Tìm bài mới Tài Nguyên Mới Hoạt động gần nhất
  • Tài nguyên Đánh giá mới nhất Tìm tài nguyên
  • Facebook
  • Đóng góp
Đăng nhập Đăng Ký Có gì mới? Tìm kiếm

Tìm kiếm

Mọi nơi Đề tài Diễn đàn này Đề tài này Chỉ tìm trong tiêu đề Note Bởi: Tìm kiếm Tìm nâng cao…
  • Tìm bài viết mới
  • Tìm theo chuyên mục
Menu Đăng nhập Đăng Ký Install the app Install How to install the app on iOS

Follow along with the video below to see how to install our site as a web app on your home screen.

Note: This feature may not be available in some browsers.

  • Khách ơi! GPE thông tin đến bạn ấn phẩm "lập trình VBA trong Excel": - Phần cơ bản - Phần Nâng Cao - VBA trong Excel - Cải thiện và tăng tốc
  • Trang chủ
  • Diễn đàn
  • Xử lý chuỗi ký tự
You are using an out of date browser. It may not display this or other websites correctly.You should upgrade or use an alternative browser. xử lý chuỗi ký tự bằng vba (1 người xem)
  • Thread starter Thread starter minhlq123
  • Ngày gửi Ngày gửi 20/3/19
Liên hệ QC

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

Đang trực tuyến: 2 (Thành viên: 0, Khách: 2) M

minhlq123

Thành viên mới
Tham gia 17/12/18 Bài viết 24 Được thích 1 em xin phép được sửa lại yêu cầu. các anh xem giúp em với ạ. +tách ra nhiều phần, mỗi phần 500 ký tự. +Chỗ ngắt phải là khoảng trống, nếu tách ngay giữa từ thì phải thụt lùi lại ( <500) cho đủ từ + ô chứa keyword cứ mất dần sau mỗi lượt điền, như kiểu thò tay vào túi lấy ra rồi thì vơi bớt đi ấy bài toán này là bài toán thực tế, hiện tại em đang làm bằng tay, mât rất nhiều công đoạn

File đính kèm

  • tachchuoi.xlsx tachchuoi.xlsx 119.5 KB · Đọc: 30
Lần chỉnh sửa cuối: 20/3/19 snow25

snow25

Thành viên gạo cội
Tham gia 24/7/18 Bài viết 3,555 Được thích 3,610 Donate (Momo) Donate Giới tính Nam
minhlq123 đã viết: hi các bạn, mình có 1 bài toán như thế này, ở 1 ô có chứa chuỗi gồm n từ (n ko xác định), em muốn tách chuỗi đó sang các ô liên tiếp, mỗi ô chứa 500 ký tự, sau khi điền đủ hết 500 ký tự trong 1 ô sẽ nhảy sang ô tiếp theo cứ thế đến khi nào ô chứa chuỗi bằng 0 thì dừng. bài toàn này làm ntn ah? Nhấp chuột vào đây để mở rộng...
Vậy bạn viết Code theo kiểu. Đầu tiên là đếm số ký tự của nó.Rồi chạy vòng lặp với step 500,dùng hàm mid mà tách ra.Không có ví dụ cụ thể nên chỉ vậy thôi. SA_DQ

SA_DQ

/(hông là gì!
Thành viên danh dự Tham gia 8/6/06 Bài viết 14,776 Được thích 23,229 Nghề nghiệp U80 Ô của bạn làm gì mà chứa lắm ký tự đến thế kia chứ? Mình hơi nghi ngờ tính thực tiển của bài toán quá đi mất V

VetMini

Đang đi tìm hòn đá
Tham gia 21/12/12 Bài viết 17,867 Được thích 24,788 Nghề nghiệp Thầy bói bài ta Bài toán chuỗi không khó, những chi tiết luôn luôn phức tạp. Trình bày vừa tiếng Tây vừa viết tắt tùm lum thì cả chục bài mới ra kết quả. Sửa lại tiếng Việt rõ ràng rồi nói chuyện tiếp. M

minhlq123

Thành viên mới
Tham gia 17/12/18 Bài viết 24 Được thích 1
VetMini đã viết: Bài toán chuỗi không khó, những chi tiết luôn luôn phức tạp. Trình bày vừa tiếng Tây vừa viết tắt tùm lum thì cả chục bài mới ra kết quả. Sửa lại tiếng Việt rõ ràng rồi nói chuyện tiếp. Nhấp chuột vào đây để mở rộng...
em cảm ơn anh đã góp ý, em đã sửa lại, mong các anh giúp em với snow25

snow25

Thành viên gạo cội
Tham gia 24/7/18 Bài viết 3,555 Được thích 3,610 Donate (Momo) Donate Giới tính Nam
minhlq123 đã viết: em xin phép được sửa lại yêu cầu. các anh xem giúp em với ạ. bài toán này là bài toán thực tế, hiện tại em đang làm bằng tay, mât rất nhiều công đoạn Nhấp chuột vào đây để mở rộng...
Bạn chạy thử code này xem thế nào nhé. Mã: Sao chép. Sub tach() Dim arr(1 To 100, 1 To 6), i As Long, dk As String, a As Long, b As Long, T As Long, c As Long With Sheets("nhaplieu") dk = .Range("B3").Value T = Len(dk) b = 1 c = 500 For i = 1 To T Step 500 a = a + 1 If a = 7 Then b = b + 1: a = 1 If T - i < 500 Then c = T - i arr(a, b) = Mid(dk, i, c) Next i .Range("D5:I100").ClearContents If a Then .Range("D5").Resize(a, b).Value = arr End With End Sub M

minhlq123

Thành viên mới
Tham gia 17/12/18 Bài viết 24 Được thích 1
snow25 đã viết: Bạn chạy thử code này xem thế nào nhé. Mã: Sao chép. Sub tach() Dim arr(1 To 100, 1 To 6), i As Long, dk As String, a As Long, b As Long, T As Long, c As Long With Sheets("nhaplieu") dk = .Range("B3").Value T = Len(dk) b = 1 c = 500 For i = 1 To T Step 500 a = a + 1 If a = 7 Then b = b + 1: a = 1 If T - i < 500 Then c = T - i arr(a, b) = Mid(dk, i, c) Next i .Range("D5:I100").ClearContents If a Then .Range("D5").Resize(a, b).Value = arr End With End Sub Nhấp chuột vào đây để mở rộng...
em cảm ơn anh ah. em thử tăng kích thước của chuỗi lên 18000 thì báo lỗi out of range ah. anh xem giúp em lỗi dòng này: arr(a, b) = Mid(dk, i, c) snow25

snow25

Thành viên gạo cội
Tham gia 24/7/18 Bài viết 3,555 Được thích 3,610 Donate (Momo) Donate Giới tính Nam
minhlq123 đã viết: em cảm ơn anh ah. em thử tăng kích thước của chuỗi lên 18000 thì báo lỗi out of range ah. anh xem giúp em lỗi dòng này: arr(a, b) = Mid(dk, i, c) Nhấp chuột vào đây để mở rộng...
Vậy bạn dùng cái này. Mã: Sao chép. Sub tach() Dim arr, i As Long, dk As String, a As Long, b As Long, T As Long, c As Long With Sheets("nhaplieu") dk = .Range("B3").Value T = Len(dk) b = 1 c = 500 ReDim arr(1 To T / 6 / c, 1 To 6) For i = 1 To T Step 500 a = a + 1 If a = 7 Then b = b + 1: a = 1 If T - i < 500 Then c = T - i arr(a, b) = Mid(dk, i, c) Next i .Range("D5:I100").ClearContents If a Then .Range("D5").Resize(a, b).Value = arr End With End Sub M

minhlq123

Thành viên mới
Tham gia 17/12/18 Bài viết 24 Được thích 1
snow25 đã viết: Vậy bạn dùng cái này. Mã: Sao chép. Sub tach() Dim arr, i As Long, dk As String, a As Long, b As Long, T As Long, c As Long With Sheets("nhaplieu") dk = .Range("B3").Value T = Len(dk) b = 1 c = 500 ReDim arr(1 To T / 6 / c, 1 To 6) For i = 1 To T Step 500 a = a + 1 If a = 7 Then b = b + 1: a = 1 If T - i < 500 Then c = T - i arr(a, b) = Mid(dk, i, c) Next i .Range("D5:I100").ClearContents If a Then .Range("D5").Resize(a, b).Value = arr End With End Sub Nhấp chuột vào đây để mở rộng...
vẫn bị lỗi anh ah, laanf này em giảm xuống hẳn 3900 thì vẫn lỗi. code trước số ký tự trong chuỗi 13000 vẫn chạy được snow25

snow25

Thành viên gạo cội
Tham gia 24/7/18 Bài viết 3,555 Được thích 3,610 Donate (Momo) Donate Giới tính Nam
minhlq123 đã viết: vẫn bị lỗi anh ah, laanf này em giảm xuống hẳn 3900 thì vẫn lỗi. code trước số ký tự trong chuỗi 13000 vẫn chạy được Nhấp chuột vào đây để mở rộng...
Bạn gửi file cái lỗi lên đây mình xem nào.:D.Cái này là do khai báo thiếu mảng. M

minhlq123

Thành viên mới
Tham gia 17/12/18 Bài viết 24 Được thích 1
snow25 đã viết: Bạn gửi file cái lỗi lên đây mình xem nào.:D.Cái này là do khai báo thiếu mảng. Nhấp chuột vào đây để mở rộng...
đây anh ah

File đính kèm

  • tachchuoi.xlsm tachchuoi.xlsm 126.2 KB · Đọc: 10
snow25

snow25

Thành viên gạo cội
Tham gia 24/7/18 Bài viết 3,555 Được thích 3,610 Donate (Momo) Donate Giới tính Nam
minhlq123 đã viết: vẫn bị lỗi anh ah, laanf này em giảm xuống hẳn 3900 thì vẫn lỗi. code trước số ký tự trong chuỗi 13000 vẫn chạy được Nhấp chuột vào đây để mở rộng...
Bạn chạy cái này nhé lúc nãy viết ngược. Mã: Sao chép. Sub tach() Dim arr, i As Long, dk As String, a As Long, b As Long, T As Long, c As Long, d As Long With Sheets("nhaplieu") dk = .Range("B3").Value T = Len(dk) b = 1 c = 500 d = T / c / 6 + 1 ReDim arr(1 To d, 1 To 6) For i = 1 To T Step 500 a = a + 1 If a = 7 Then b = b + 1: a = 1 If T - i < 500 Then c = T - i arr(b, a) = Mid(dk, i, c) Next i .Range("D5:I100").ClearContents .Range("D5").Resize(b, 6).Value = arr End With End Sub Lần chỉnh sửa cuối: 20/3/19 M

minhlq123

Thành viên mới
Tham gia 17/12/18 Bài viết 24 Được thích 1
snow25 đã viết: Bạn chạy cái này nhé lúc nãy viết ngược. Mã: Sao chép. Sub tach() Dim arr, i As Long, dk As String, a As Long, b As Long, T As Long, c As Long, d As Long With Sheets("nhaplieu") dk = .Range("B3").Value T = Len(dk) b = 1 c = 500 d = T / c / 6 + 1 ReDim arr(1 To d, 1 To 6) For i = 1 To T Step 500 a = a + 1 If a = 7 Then b = b + 1: a = 1 If T - i < 500 Then c = T - i arr(b, a) = Mid(dk, i, c) Next i .Range("D5:I100").ClearContents .Range("D5").Resize(b, 6).Value = arr End With End Sub Nhấp chuột vào đây để mở rộng...
code chạy rất mượt anh ah, còn phần điều kiện kiểm soát điền thì xử lý ntn hả anh. em muốn nó điền theo thứ tự như trong ảnh ( bỏ qua ko điền vào dòng trống), cột để xác định có điền hay không là cột B, ô nào ở cột B khác rỗng thì sẽ ko điền vào dòng đó

File đính kèm

  • 1.JPG 1.JPG 69.5 KB · Đọc: 13
V

VetMini

Đang đi tìm hòn đá
Tham gia 21/12/12 Bài viết 17,867 Được thích 24,788 Nghề nghiệp Thầy bói bài ta Theo tôi hiểu thì yêu cầu là tách ra nhiều phần, mỗi phần 500 ký tự. Theo cách làm việc thông thường thì chỗ ngắt phải là khoảng trống, nếu tách ngay giữa từ thì phải thụt lùi lại ( <500) cho đủ từ. Nếu có điều kiện này thì code bài #12 không đạt. @thớt: diễn tả bài thì tránh viết tắt. Bài đã rắc rối lại còn phải đoán từ viết tắt. M

minhlq123

Thành viên mới
Tham gia 17/12/18 Bài viết 24 Được thích 1
VetMini đã viết: Theo tôi hiểu thì yêu cầu là tách ra nhiều phần, mỗi phần 500 ký tự. Chỗ ngắt phải là khoảng trống, nếu tách ngay giữa từ thì phải thụt lùi lại ( <500) cho đủ từ. Theo điều kiện này thì code bài #12 không đạt. Nhấp chuột vào đây để mở rộng...
chuẩn luôn anh ah. đúng là em định mô tả như thế và ô chứa keyword cứ mất dần sau mỗi lượt điền, như kiểu thò tay vào túi lấy ra rồi thì vơi bớt đi ấy ah. Lần chỉnh sửa cuối: 20/3/19 H

HieuCD

Chuyên gia GPE
Tham gia 14/9/10 Bài viết 9,943 Được thích 23,902
snow25 đã viết: Vậy bạn dùng cái này. Mã: Sao chép. Sub tach() Dim arr, i As Long, dk As String, a As Long, b As Long, T As Long, c As Long With Sheets("nhaplieu") dk = .Range("B3").Value T = Len(dk) b = 1 c = 500 ReDim arr(1 To T / 6 / c, 1 To 6) For i = 1 To T Step 500 a = a + 1 If a = 7 Then b = b + 1: a = 1 If T - i < 500 Then c = T - i arr(a, b) = Mid(dk, i, c) Next i .Range("D5:I100").ClearContents If a Then .Range("D5").Resize(a, b).Value = arr End With End Sub Nhấp chuột vào đây để mở rộng...
Mãng arr khai báo thiếu 1 dòng M

minhlq123

Thành viên mới
Tham gia 17/12/18 Bài viết 24 Được thích 1
VetMini đã viết: Bài đã rắc rối lại còn phải đoán từ viết tắt. Nhấp chuột vào đây để mở rộng...
em xin ghi nhận snow25

snow25

Thành viên gạo cội
Tham gia 24/7/18 Bài viết 3,555 Được thích 3,610 Donate (Momo) Donate Giới tính Nam
minhlq123 đã viết: code chạy rất mượt anh ah, còn phần điều kiện kiểm soát điền thì xử lý ntn hả anh. em muốn nó điền theo thứ tự như trong ảnh ( bỏ qua ko điền vào dòng trống), cột để xác định có điền hay không là cột B, ô nào ở cột B khác rỗng thì sẽ ko điền vào dòng đó Nhấp chuột vào đây để mở rộng...
Bạn chạy code này nhé.Bạn thêm giá trị ô cần bỏ trống vào chỗ dks nhé. Mã: Sao chép. Sub tach() Dim arr, i As Long, dk As String, a As Long, b As Long, T As Long, c As Long, d As Long, dks As String With Sheets("nhaplieu") dks = "#12#16#17#" dk = .Range("B3").Value T = Len(dk) b = 1 c = 500 d = T / c / 6 + 100 ReDim arr(1 To d, 1 To 6) For i = 1 To T Step 500 a = a + 1 If a = 7 Then b = b + 1 Do While InStr(dks, "#" & b + 4 & "#") > 0 b = b + 1 Loop a = 1 End If If T - i < 500 Then c = T - i arr(b, a) = Mid(dk, i, c) Next i .Range("D5:I1000").ClearContents .Range("D5").Resize(b, 6).Value = arr End With End Sub M

minhlq123

Thành viên mới
Tham gia 17/12/18 Bài viết 24 Được thích 1
snow25 đã viết: Bạn chạy code này nhé.Bạn thêm giá trị ô cần bỏ trống vào chỗ dks nhé. Mã: Sao chép. Sub tach() Dim arr, i As Long, dk As String, a As Long, b As Long, T As Long, c As Long, d As Long, dks As String With Sheets("nhaplieu") dks = "#12#16#17#" dk = .Range("B3").Value T = Len(dk) b = 1 c = 500 d = T / c / 6 + 100 ReDim arr(1 To d, 1 To 6) For i = 1 To T Step 500 a = a + 1 If a = 7 Then b = b + 1 Do While InStr(dks, "#" & b + 4 & "#") > 0 b = b + 1 Loop a = 1 End If If T - i < 500 Then c = T - i arr(b, a) = Mid(dk, i, c) Next i .Range("D5:I1000").ClearContents .Range("D5").Resize(b, 6).Value = arr End With End Sub Nhấp chuột vào đây để mở rộng...
em cảm ơn anh ah. còn bài toán cho keyword nó bớt đi giá trị khi điền vào các ô kia thì làm thế nào hả anh? tức là nó cứ với dần ấy snow25

snow25

Thành viên gạo cội
Tham gia 24/7/18 Bài viết 3,555 Được thích 3,610 Donate (Momo) Donate Giới tính Nam
minhlq123 đã viết: em cảm ơn anh ah. còn bài toán cho keyword nó bớt đi giá trị khi điền vào các ô kia thì làm thế nào hả anh? tức là nó cứ với dần ấy Nhấp chuột vào đây để mở rộng...
Không hiểu ý bạn lắm.Với dần là sao nhỉ.Nếu thế thì bạn cứ để nó chạy ra hết rồi xóa bằng tay cho nhanh. V

VetMini

Đang đi tìm hòn đá
Tham gia 21/12/12 Bài viết 17,867 Được thích 24,788 Nghề nghiệp Thầy bói bài ta Mã: Sao chép. Sub TachTumLum() ' split one long string into segments ' this procedure assumes that the string is normal, ie you dont have to trim Const SHEETNAME = "nhaplieu" Const SEGLEN = 500 Const WBOUNDARY = " " ' if punctuation marks also count, you need a string list Dim str As String Dim segSt As Integer, segEn As Integer, finalPos As Integer ' segment start, end & final position Dim segments() As Integer, segTot As Integer ' Firstly, establish an array of segment positions in the string ReDim segments(1 To 2, 1 To 1) str = Worksheets(SHEETNAME).Range("b3").Value ' read the original string finalPos = Len(str) segSt = 1 Do While segSt <= finalPos segEn = segSt + SEGLEN ' the position is 1 character beyond required segment length If segEn > finalPos Then segEn = finalPos Else Do While Mid(str, segEn, 1) <> WBOUNDARY ' find the word boundary segEn = segEn - 1 Loop segEn = segEn - 1 End If ' write the positions to array segTot = segTot + 1 ReDim Preserve segments(1 To 2, 1 To segTot) segments(1, segTot) = segSt segments(2, segTot) = segEn ' Debug.Print Mid(str, segSt, segEn - segSt + 1) ' Mid(str, segSt, segEn - segSt + 1) is the string segment we want ' add code to write them to worksheet here segSt = segEn + 2 Loop ' Secondly, write the segments down onto worksheet Const BLOCKCOLS = 6 Const WRITESTART = "D5" Dim rg As Range, i As Integer, col As Integer, row As Integer Set rg = Worksheets(SHEETNAME).Range(WRITESTART) row = 1: col = 0 For i = 1 To segTot col = col + 1 If col > BLOCKCOLS Then row = row + 1: col = 1 rg.Cells(row, col).Value = Mid(str, segments(1, i), segments(2, i) - segments(1, i) + 1) Next i End Sub AutoReply

AutoReply

Thành viên tiêu biểu
Tham gia 18/2/16 Bài viết 568 Được thích 742
VetMini đã viết: Mã: Sao chép. Sub TachTumLum() ' split one long string into segments ' this procedure assumes that the string is normal, ie you dont have to trim Const SHEETNAME = "nhaplieu" Const SEGLEN = 500 Const WBOUNDARY = " " ' if punctuation marks also count, you need a string list Dim str As String Dim segSt As Integer, segEn As Integer, finalPos As Integer ' segment start, end & final position Dim segments() As Integer, segTot As Integer ' Firstly, establish an array of segment positions in the string ReDim segments(1 To 2, 1 To 1) str = Worksheets(SHEETNAME).Range("b3").Value ' read the original string finalPos = Len(str) segSt = 1 Do While segSt <= finalPos segEn = segSt + SEGLEN ' the position is 1 character beyond required segment length If segEn > finalPos Then segEn = finalPos Else Do While Mid(str, segEn, 1) <> WBOUNDARY ' find the word boundary segEn = segEn - 1 Loop segEn = segEn - 1 End If ' write the positions to array segTot = segTot + 1 ReDim Preserve segments(1 To 2, 1 To segTot) segments(1, segTot) = segSt segments(2, segTot) = segEn ' Debug.Print Mid(str, segSt, segEn - segSt + 1) ' Mid(str, segSt, segEn - segSt + 1) is the string segment we want ' add code to write them to worksheet here segSt = segEn + 2 Loop ' Secondly, write the segments down onto worksheet Const BLOCKCOLS = 6 Const WRITESTART = "D5" Dim rg As Range, i As Integer, col As Integer, row As Integer Set rg = Worksheets(SHEETNAME).Range(WRITESTART) row = 1: col = 0 For i = 1 To segTot col = col + 1 If col > BLOCKCOLS Then row = row + 1: col = 1 rg.Cells(row, col).Value = Mid(str, segments(1, i), segments(2, i) - segments(1, i) + 1) Next i End Sub Nhấp chuột vào đây để mở rộng...
anh gì ơi, em đọc chú thích tiếng Tây khó hiểu quá, anh có thể chú thích lại tiếng khác cho dễ hiểu được không ạ ? V

VetMini

Đang đi tìm hòn đá
Tham gia 21/12/12 Bài viết 17,867 Được thích 24,788 Nghề nghiệp Thầy bói bài ta
AutoReply đã viết: anh gì ơi, em đọc chú thích tiếng Tây khó hiểu quá, anh có thể chú thích lại tiếng khác cho dễ hiểu được không ạ ? Nhấp chuột vào đây để mở rộng...
chú thích là đủ rồi, đâu có cần cô thích. M

minhlq123

Thành viên mới
Tham gia 17/12/18 Bài viết 24 Được thích 1
VetMini đã viết: Mã: Sao chép. Sub TachTumLum() ' split one long string into segments ' this procedure assumes that the string is normal, ie you dont have to trim Const SHEETNAME = "nhaplieu" Const SEGLEN = 500 Const WBOUNDARY = " " ' if punctuation marks also count, you need a string list Dim str As String Dim segSt As Integer, segEn As Integer, finalPos As Integer ' segment start, end & final position Dim segments() As Integer, segTot As Integer ' Firstly, establish an array of segment positions in the string ReDim segments(1 To 2, 1 To 1) str = Worksheets(SHEETNAME).Range("b3").Value ' read the original string finalPos = Len(str) segSt = 1 Do While segSt <= finalPos segEn = segSt + SEGLEN ' the position is 1 character beyond required segment length If segEn > finalPos Then segEn = finalPos Else Do While Mid(str, segEn, 1) <> WBOUNDARY ' find the word boundary segEn = segEn - 1 Loop segEn = segEn - 1 End If ' write the positions to array segTot = segTot + 1 ReDim Preserve segments(1 To 2, 1 To segTot) segments(1, segTot) = segSt segments(2, segTot) = segEn ' Debug.Print Mid(str, segSt, segEn - segSt + 1) ' Mid(str, segSt, segEn - segSt + 1) is the string segment we want ' add code to write them to worksheet here segSt = segEn + 2 Loop ' Secondly, write the segments down onto worksheet Const BLOCKCOLS = 6 Const WRITESTART = "D5" Dim rg As Range, i As Integer, col As Integer, row As Integer Set rg = Worksheets(SHEETNAME).Range(WRITESTART) row = 1: col = 0 For i = 1 To segTot col = col + 1 If col > BLOCKCOLS Then row = row + 1: col = 1 rg.Cells(row, col).Value = Mid(str, segments(1, i), segments(2, i) - segments(1, i) + 1) Next i End Sub Nhấp chuột vào đây để mở rộng...
1. code chạy được anh ah, tuy nhiên em muốn kiểm soát điều kiện điền là cột B có giá trị thì cả dòng đó ko được điền, cụ thể là em muốn nó điền vào các ô có màu xanh lá cây. anh xem hình vẽ ah. 2. cái ô keyword sẽ mất bớt ký tự khi điền vào 1 ô( tức là ví dụ ô key word có 5 chữ cái là a,b,c,d khi điền vào ô a1 chữ a, a2 chữ b, a3 chữ c thì keyword còn lại trong ô chỉ còn là c,d).1.JPG Bài đã được tự động gộp: 21/3/19
snow25 đã viết: Không hiểu ý bạn lắm.Với dần là sao nhỉ.Nếu thế thì bạn cứ để nó chạy ra hết rồi xóa bằng tay cho nhanh. Nhấp chuột vào đây để mở rộng...
hi anh, cái keyword mất dần đi để làm đầu bài cho 1 bài toán khác, tóm lại là em muốn tối ưu keyword. cái ô chứa keyword đó như 1 cái túi, mình thò tay rải vào các ô thì cái túi đó vơi dần, sau khi rải mà còn thừa thì chỗ keyword còn lại sẽ được đem đi làm việc khác ah Bạn phải đăng nhập hoặc đăng ký để trả lời bài viết tại đây.

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

huuthang_bd Cùng xây dựng file Gia Phả (1 người xem)
    • Thích
  • huuthang_bd
  • 30/12/13
  • Xây dựng ứng dụng.
Trả lời 45 Đọc 21K Hôm nay lúc 12:49 le_vis L GPE-Trợ Lý [GPE21] ỨNG DỤNG POWER QUERY TRONG ĐỐI CHIẾU DỮ LIỆU HÓA ĐƠN ĐIỆN TỬ VÀ DỮ LIỆU KẾ TOÁN (3 người xem)
    • Thích
  • GPE-Trợ Lý
  • Hôm nay lúc 10:02
  • Học tập Online
Trả lời 0 Đọc 82 Hôm nay lúc 10:02 GPE-Trợ Lý GPE-Trợ Lý PhanTuHuong Nếu diễn đàn GPE đóng cửa? (2 người xem)
    • Thích
    • Yêu thích
  • PhanTuHuong
  • 14/12/25
  • Thư giãn
Trả lời 20 Đọc 739 Hôm qua, lúc 21:01 SA_DQ SA_DQ H hướng dẫn xóa dòng, cột file excel
  • hoangvucntt
  • Hôm qua, lúc 10:16
  • Cấu trúc dữ liệu Excel và việc Xử lý dữ liệu
Trả lời 1 Đọc 54 Hôm qua, lúc 17:39 ptm0412 ptm0412 L nhờ hoàn thiện file dò xổ số
  • levovantoan
  • Thứ sáu lúc 23:25
  • Giải thích, gỡ rối, xử lý lỗi công thức
Trả lời 4 Đọc 160 Hôm qua, lúc 12:01 Phan Thế Hiệp Phan Thế Hiệp N Hướng dẫn công thức Query kết hợp Arrayfomula bị lỗi
  • Na7979
  • Hôm qua, lúc 11:40
  • Lọc và sắp xếp dữ liệu
Trả lời 0 Đọc 39 Hôm qua, lúc 11:40 Na7979 N D Xin giúp.......Kết hợp countifs và Sumproduct để đếm dữ liệu và tính số lượng tổng không trùng lặp với nhiều điều kiện
  • dieppk.nb92
  • 14/12/25
  • Hàm và công thức Excel
Trả lời 20 Đọc 538 Hôm qua, lúc 10:56 Phan Thế Hiệp Phan Thế Hiệp K Các nút Buttom, Combobox, Textbox bị thay đổi kích thước ...
  • kaoehtkid
  • Thứ hai lúc 19:04
  • Những vấn đề chung
Trả lời 13 Đọc 315 Thứ sáu lúc 19:07 ongke0711 ongke0711 HeSanbi Thuật ngữ "Đối chiếu Unicode" quan trọng trong việc xử lý chuỗi ký tự
    • Thích
  • HeSanbi
  • 13/12/25
  • Xử lý chuỗi ký tự
Trả lời 2 Đọc 249 Thứ sáu lúc 17:38 HeSanbi HeSanbi Nguyenkhang2404 Tính định mức sản phẩm
    • Chấp nhận
  • Nguyenkhang2404
  • 24/7/25
  • Hàm và công thức Excel
Trả lời 11 Đọc 940 Thứ sáu lúc 14:27 nguyenanhtruong2409 N T Lọc dự liệu với hai điều kiện
  • tiny1010
  • 16/3/10
  • Cấu trúc dữ liệu Excel và việc Xử lý dữ liệu
Trả lời 18 Đọc 7K Thứ sáu lúc 14:11 nguyenanhtruong2409 N N Tổng hợp 2 sheet khác nhau (có 1 cột dữ liệu trùng) trong goole sheet
  • Na7979
  • Thứ sáu lúc 14:01
  • Google Sheets
Trả lời 0 Đọc 34 Thứ sáu lúc 14:01 Na7979 N D
  • Question Question
Tách dòng tự động theo điều kiện bằng VBA
    • Cười
  • duongnhuxuyen
  • 12/12/25
  • Lập Trình với Excel
Trả lời 17 Đọc 442 Thứ sáu lúc 12:04 ptm0412 ptm0412 P Lỗi hàm VBA phải add-in sau mỗi lần mở file
  • phamdinh.huy.aladin@gmail
  • Thứ hai lúc 10:18
  • Hàm và công thức Excel
Trả lời 7 Đọc 243 Thứ sáu lúc 08:11 minhnghia123 M M Sai lệch vùng dữ liệu khi tạo Name Range bằng VBA
    • Buồn
  • Mr_Siro
  • Thứ tư lúc 10:57
  • Giải thích, gỡ rối, xử lý lỗi công thức
Trả lời 5 Đọc 172 Thứ năm lúc 13:23 Mr_Siro M P Tìm giá trị tồn kho đầu ngày
  • ptthuongtn
  • Thứ tư lúc 15:15
  • Hàm và công thức Excel
Trả lời 3 Đọc 174 Thứ năm lúc 11:22 Duy Tùng 9x Duy Tùng 9x skygatevn Xin giúp đỡ về việc áp dụng hàm phù hợp để phân tách dữ liệu
  • skygatevn
  • Thứ tư lúc 11:59
  • Hướng dẫn sử dụng các hàm trong Excel
Trả lời 3 Đọc 138 Thứ tư lúc 13:52 skygatevn skygatevn PhanTuHuong Bán sách Excel nâng cao để ủng hộ đồng bào bão lũ năm 2025!
    • Yêu thích
  • PhanTuHuong
  • 10/12/25
  • Câu lạc bộ hoạt động xã hội
Trả lời 5 Đọc 360 Thứ tư lúc 12:43 GPE-Trợ Lý GPE-Trợ Lý GPE-Trợ Lý CHUNG TAY HƯỚNG VỀ MIỀN TRUNG NĂM 2025
    • Thích
  • GPE-Trợ Lý
  • 24/11/25
  • Câu lạc bộ hoạt động xã hội
Trả lời 12 Đọc 955 Thứ tư lúc 07:38 PhanTuHuong PhanTuHuong HeSanbi
  • Đã giải quyết
WeatherXL - Ứng dụng lấy dữ liệu Thời tiết siêu nhanh (***Đang phát triển lại)
    • Thích
    • Yêu thích
  • HeSanbi
  • 30/5/20
  • Lập Trình với Excel
Trả lời 92 Đọc 27K Thứ ba lúc 19:57 Maika8008 Maika8008 Xem thêm… Chia sẻ: Facebook X Bluesky LinkedIn Reddit Pinterest Tumblr WhatsApp Email Chia sẻ Link

Thành viên có số lượng bài viết cao nhất tháng

  • Maika8008 38
  • thanthanhan 23
  • dungpham01 19
  • ongke0711 19
  • ptm0412 17
  • eagle12 16
  • nguyenanhtruong2409 16
  • Phan Thế Hiệp 16
  • HUONGHCKT 12
  • vic_it 11
  • nhhnam 10
  • pycckuu410 10
  • dieppk.nb92 10
  • Vũ Hải Sơn 9
  • HeSanbi 9
  • Gà Con yêu VBA 8
  • bsbnhh 7
  • duongnhuxuyen 7
  • Hana2610 6
  • kaoehtkid 6

Thành viên có điểm tương tác cao nhất tháng

  • Phan Thế Hiệp 82
  • Maika8008 32
  • thanthanhan 20
  • ongke0711 17
  • ptm0412 17
  • HeSanbi 15
  • dungpham01 11
  • HUONGHCKT 9
  • eagle12 9
  • Cúc Hr 8
  • dieppk.nb92 6
  • Mr.hieudoanxd 5
  • befaint 5
  • pycckuu410 5
  • SA_DQ 5
  • Hoàng Tuấn 868 4
  • Phuocam 4
  • nguyenanhtruong2409 4
  • nhhnam 2
  • Gà Con yêu VBA 2

Thời gian đếm ngược.

000 Ngày 00 Giờ 00 phút 00 giây Thân mời tham dự sự kiện sinh nhật GPE 2025
  • Trang chủ
  • Diễn đàn
  • Xử lý chuỗi ký tự
  • Website này sử dụng cookies. Tiếp tục sử dụng trang này, đồng nghĩa với việc bạn chấp nhận website sử dụng cookies. Chấp nhận Tìm hiểu thêm.…
Back Top Bottom

Từ khóa » Hàm Xử Lý Chuỗi Trong Vba