Lặp lai 1 điểm trên hàng bởi VBA (1 người xem)

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

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

QQV586

Thành viên chính thức
Tham gia
28/2/13
Bài viết
75
Được thích
1
Bài toán như sau: trên hàng có 1,2..n số,ký tự thì ta lặp lại 1,2..n lần mỗi số, ký tự thuộc hàng đó.
ví dụ như sau: hàng 1 có 12345667ABB thì cho ta kết quả như sau:
11,22,33,44,55,66,66,77,AA,BB,BB đúng 11 lần lặp so với 11 số, ký tự có mặt
và bài toán được minh hoạ bởi file đính kèm. Mong anh em forum GPE cho em cái code hợp lý và chuẩn không cần chỉnh với bài toán này!
Cảm ơn GPE!
 

File đính kèm

Bài toán như sau: trên hàng có 1,2..n số,ký tự thì ta lặp lại 1,2..n lần mỗi số, ký tự thuộc hàng đó.
ví dụ như sau: hàng 1 có 12345667ABB thì cho ta kết quả như sau:
11,22,33,44,55,66,66,77,AA,BB,BB đúng 11 lần lặp so với 11 số, ký tự có mặt
và bài toán được minh hoạ bởi file đính kèm. Mong anh em forum GPE cho em cái code hợp lý và chuẩn không cần chỉnh với bài toán này!
Cảm ơn GPE!

cho hỏi cái này ứng dụng vào lĩnh vực gì ! mình thấy nó " kỳ dị" thế nào ý!

Viết tạm 1 đoạn code :
[GPECODE=vb]
Sub NMH(str As String, iC As Integer)
Dim iR As Integer
Dim match
With CreateObject("VBscript.Regexp")
.Global = True: .Pattern = "(\d)"
str = .Replace(str, "$1$1"): .Pattern = "\d{2}"
For Each match In .Execute(str)
Columns(iC).Cells(iR + 5) = match
iR = iR + 1
Next
End With
End Sub
Sub Main()
[A5:B1000].clear
NMH [A1] & [B1] & [B1], 1
NMH [A2] & [B2] & [B2], 2
NMH [A3] & [B3] & [B3], 3
End Sub
[/GPECODE]
 
Lần chỉnh sửa cuối:
Upvote 0
bác giúp e là vui rồi, chứ việc riêng bác bận tâm làm gì. Cảm ơn bác.
Em chạy rồi báo lỗi, bác gắn vào file gửi lên xem thế nào?
 
Upvote 0
cho hỏi cái này ứng dụng vào lĩnh vực gì ! mình thấy nó " kỳ dị" thế nào ý!

Viết tạm 1 đoạn code :
[GPECODE=vb]
Sub NMH(str As String, iC As Integer)
Dim iR As Integer
Dim match
With CreateObject("VBscript.Regexp")
.Global = True: .Pattern = "(\d)"
str = .Replace(str, "$1$1"): .Pattern = "\d{2}"
For Each match In .Execute(str)
Columns(iC).Cells(iR + 5) = match
iR = iR + 1
Next
End With
End Sub
Sub Main()
[A5:B1000].clear
NMH [A1] & [B1] & [B1], 1
NMH [A2] & [B2] & [B2], 2
NMH [A3] & [B3] & [B3], 3
End Sub
[/GPECODE]

Bác chạy chưa? phần cuối hàng 1,2,3. sai có lặp đúng đâu> tại điểm nào lặp đúng điển đó theo thứ tự bác hungpeci1 ah! thanks bác nhiều.
 
Upvote 0
sai ở phần cuối bác ah!
Sub Main()
[A5:B1000].Clear
NMH [A1] & [B1] & [C1], 1
NMH [A2] & [B2] & [C2], 2
NMH [A3] & [B3] & [C3], 3
End Sub
nếu có n cột viết tới n cột thật sao bác
 
Upvote 0
Khả năng của mình chỉ làm được bấy nhiêu thôi; bạn đành tự vọc,hoặc ngồi chờ ..... vậy!
 
Upvote 0
ok thanks bác giúp đỡ nhiệt tình. Em phải làm nhiều nhờ các cao thủ trợ giúp em.
Thanks GPE!
 
Upvote 0

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

Back
Top Bottom