viết chương trình vba nối mã lô với số bao (mỗi mã bao sẽ bao gồm số lô nối với số thứ tự bao bì thành phẩm) này giúp mình với

Liên hệ QC

VTHANHSG

Thành viên mới
Tham gia
25/2/21
Bài viết
19
Được thích
3
chào các anh chị và các bạn trong diễn đàn, mình mới học VBA trên youtube, chưa học khóa chính thức nào, cũng có kinh nghiệm chút ít về excel, mấy nay mình làm lại file bên dưới, hy vọng các coder vba giúp mình, mình làm 2 ngày nay vẫn chưa ra. cám ơn mọi người đã đọc
 
1615951666634.png

Chơi English hết một lượt đi mình.

Chép khúc kia vào Google Translate không dịch nổi. :)
 
Upvote 0
Chỉnh sửa đi rồi nói chuyện tiếp.

Chú: có muốn dùng tiếng Tây thì cũng chịu khó suy nghĩ một chút. Cỡ "coder" là hàng thấp, sếp của chúng, "leader" còn phải báo cáo với tôi.
... hy vọng các coder vba giúp mình, ...
 
Lần chỉnh sửa cuối:
Upvote 0
1. tiêu đề như thế là "chung chung", vi phạm luật diễn đàn. Cần sửa lại để nó nói lên đại khái code cần làm việc gì.
(nếu bạn không thể túm lại đại khái công việc cần làm thì suy nghĩ 100 ngày cũng không ra, đừng nói chỉ 2 ngày)

2. code bạn viết tới đâu rồi, đưa lên đây cho bà con chỉnh và chỉ cho những chỗ cần sửa.
 
Upvote 0
1. tiêu đề như thế là "chung chung", vi phạm luật diễn đàn. Cần sửa lại để nó nói lên đại khái code cần làm việc gì.
(nếu bạn không thể túm lại đại khái công việc cần làm thì suy nghĩ 100 ngày cũng không ra, đừng nói chỉ 2 ngày)

2. code bạn viết tới đâu rồi, đưa lên đây cho bà con chỉnh và chỉ cho những chỗ cần sửa.
E chỉnh lại file và tiêu đề rồi bác, số bao thay đổi liên tục nên e phân vân quá. Bí
 
Lần chỉnh sửa cuối:
Upvote 0
xin lỗi, quen miệng, viết chương trình vba giúp mình với
mình muốn có kết quả như phần tô màu á
thanks
1/ Viết Văn đã học: Đầu câu, đầu dòng phải viết chữ Hoa.
2/ Đang trao đổi với người Việt, sao lại chen vào "thanks" là nghĩa gì? Thời thượng hay khoe tiếng nước ngoài? Nếu người nước ngoài thì đọc lại bài #2 bên trên.
 

File đính kèm

  • Vong lap.xlsm
    18.6 KB · Đọc: 9
Upvote 0
Loại bài này có cả đống bài giải rồi. Thuần công thức cũng có mà VBA cũng có.

1/ Viết Văn đã học: Đầu câu, đầu dòng phải viết chữ Hoa.
2/ Đang trao đổi với người Việt, sao lại chen vào "thanks" là nghĩa gì? Thời thượng hay khoe tiếng nước ngoài?
Người ta có phân trần "quen miệng" rồi mờ. :p
1. Cái miệng nó không biết hoa/thường.
2. Cái miệng phát ra từ "cám ơn" mất 2 âm, xổ Tây "thanh" chỉ mất 1 âm.

Chỉ là hoa thường không buồn phân biệt, nói ra hà tiện số âm thì học viết VBA làm cái quái gì? Thảo nào mò 2 ngày vẫn chưa ra một dòng code.
 
Upvote 0
Loại bài này có cả đống bài giải rồi. Thuần công thức cũng có mà VBA cũng có.


Người ta có phân trần "quen miệng" rồi mờ. :p
1. Cái miệng nó không biết hoa/thường.
2. Cái miệng phát ra từ "cám ơn" mất 2 âm, xổ Tây "thanh" chỉ mất 1 âm.

Chỉ là hoa thường không buồn phân biệt, nói ra hà tiện số âm thì học viết VBA làm cái quái gì? Thảo nào mò 2 ngày vẫn chưa ra một dòng code.
Em cám ơn bác đã góp ý, để em thay đổi.
Bài đã được tự động gộp:

1/ Viết Văn đã học: Đầu câu, đầu dòng phải viết chữ Hoa.
2/ Đang trao đổi với người Việt, sao lại chen vào "thanks" là nghĩa gì? Thời thượng hay khoe tiếng nước ngoài? Nếu người nước ngoài thì đọc lại bài #2 bên trên.
Cám ơn anh rất nhiều. Đọc qua mới thấy mình chả biết gì, e sẽ cố gắng học. Chúc bác sức khỏe nhiều nhiều và diễn đàn ngày càng phát triển
 
Upvote 0
mình sửa lại chút code để nối mã theo vùng chọn (select)
 

File đính kèm

  • vong lap.xlsb
    15.4 KB · Đọc: 10
Upvote 0
mình sửa lại chút code để nối mã theo vùng chọn (select)
Công việc khai triển mã và công việc chọn vùng là hai nhiệm vụ khác nhau.
Nếu muốn có thể chọn vùng thì viết một hàm riêng để khai triển mã, và một hàm khác chọn vùng rồi gọi hàm kia.
 
Upvote 0
Công việc khai triển mã và công việc chọn vùng là hai nhiệm vụ khác nhau.
Nếu muốn có thể chọn vùng thì viết một hàm riêng để khai triển mã, và một hàm khác chọn vùng rồi gọi hàm kia.
Cảm ơn anh đã góp ý!
Không biết có phải ý anh là em nên tách code thành 2 hàm như này, đúng không anh?
Mã:
Sub bJoin()
    Dim sArr(), cRow As Long, lRow As Long
   
    If MsgBox("Co muon chay khong?", vbOKCancel) = 2 Then Exit Sub
    If TypeName(Selection) <> "Range" Then Exit Sub
   
    lRow = Selection.Row
    cRow = Selection.Rows.Count
    sArr() = Range(Cells(lRow, 1), Cells(lRow + cRow - 1, 3)).Value
    lRow = Application.Sum(Range(Cells(lRow, 3), Cells(lRow + cRow - 1, 3)))
    If lRow = 0 Then Exit Sub
    Columns(8).Clear
    Range("H1").Resize(lRow) = fJoin(sArr, lRow)
   
End Sub

Private Function fJoin(sArr As Variant, lRow As Long) As Variant
    Dim dArr(), i As Long, j As Long, k As Long
    ReDim dArr(1 To lRow, 1 To 1)
   
    For i = 1 To UBound(sArr)
        For j = 1 To sArr(i, 3)
            k = k + 1
            dArr(k, 1) = sArr(i, 1) & Format(j, "00")
        Next j
    Next i
    fJoin = dArr
End Function
 
Lần chỉnh sửa cuối:
Upvote 0
Function KhaiTrienMa(rgS As Range, rgD As Range) As Long
' triển khai mã từ rgS, và ghi kết qả vào rgD
' hàm trả về số dòng kết quả
code nối số vào mã ở đây
' người viết tuỳ tiện dùng thuật toán chép ra mảng hay đọc/viết trực tiếp trên range
' code gọi hàm này không cần biết đến thuật toán ấy, nó chỉ cần biết có bao nhiêu kết quả.
End Function

Sub TumLum()
Dim rgDV As Range, rgDR As Range, soDongKQ As Long
code xác định range đầu vào ở đây
code xác định range (ô đầu tiên) để ghi đầu ra ở đây

' gọi hàm triển khai mã
soDongKQ = KhaiTrienMa(rgDV, rgDR)
MsgBox "Xong, co tat ca " & soDongKQ & " ma trien khai"

End Sub
 
Upvote 0
Function KhaiTrienMa(rgS As Range, rgD As Range) As Long
' triển khai mã từ rgS, và ghi kết qả vào rgD
' hàm trả về số dòng kết quả
code nối số vào mã ở đây
' người viết tuỳ tiện dùng thuật toán chép ra mảng hay đọc/viết trực tiếp trên range
' code gọi hàm này không cần biết đến thuật toán ấy, nó chỉ cần biết có bao nhiêu kết quả.
End Function

Sub TumLum()
Dim rgDV As Range, rgDR As Range, soDongKQ As Long
code xác định range đầu vào ở đây
code xác định range (ô đầu tiên) để ghi đầu ra ở đây

' gọi hàm triển khai mã
soDongKQ = KhaiTrienMa(rgDV, rgDR)
MsgBox "Xong, co tat ca " & soDongKQ & " ma trien khai"

End Sub
Một lần nữa cảm ơn anh đã góp ý!
Những bài sau, em sẽ triển khai theo hướng này.
 
Upvote 0
Web KT

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

Back
Top Bottom