Tạo danh sách nhắn tin tự động

Liên hệ QC

Mr Dolphy

Thành viên mới
Tham gia
12/1/18
Bài viết
25
Được thích
5
Giới tính
Nam
Chào các anh chị trong diễn đàn,
Em đang làm việc cho 1 trung tâm anh ngữ, mỗi cuối tuần đều có việc nhắn tin nhắc nhở phụ huynh đóng tiền xe bus, mà khổ nỗi số hotline lại gắn sim trong điện thoại Nokia cục gạch, các tin nhắn thì nội dung dài và na ná giống nhau, chỉ khác về thời gian, lớp và só tiền. Mỗi tin nhắn lại tốn công sửa dữ liệu khác nhau, hơi tốn thời gian, dễ nhầm lẫn và rất chi là... mỏi tay. Em vốn xuất thân từ bên Cơ Điện Tử nên em dự định là sẽ làm 1 cái mạch điện nhỏ gắn sim và lập trình kết nối máy tính giúp tự động hóa quy trình này. Phần mạch điện và lập trình với nó thì ổn vì là chuyên ngành của em, em đang bị bí phần xử lý dữ liệu từ danh sách được bên học vụ cung cấp cho, phải lọc và tách dữ liệu ra mới dùng được.

Em mô tả sơ qua vầy, trong file đính kèm em có mô tả kỹ hơn về cách thực hiện rồi nên mọi người xem trong file sẽ rõ hơn.

Từ file dữ liệu được cấp, bên học vụ sẽ bôi đỏ các học viên nào chưa đóng tiền thì mình dựa vào đó để nhắn tin tới số điện thoại và thông báo số tiền cho khóa học đó. Em cần tách được dữ liệu từ đó để ra 1 sheet chỉ còn 2 cột là tin nhắn đã hoàn thiện và số điện thoại đã được chỉnh sửa thêm +84 vào phía trước. Sheet này em sẽ nạp vào data của mạch điện để truyền tin nhắn đi.

Em xin gửi file đính kèm để mô tả kỹ hơn về quy trình này.

Cám ơn sự giúp đỡ của mọi người.
 

File đính kèm

  • Bus-FY2019-Oct-Dec2019.xlsx
    131.8 KB · Đọc: 24
Chào các anh chị trong diễn đàn,
Em đang làm việc cho 1 trung tâm anh ngữ, mỗi cuối tuần đều có việc nhắn tin nhắc nhở phụ huynh đóng tiền xe bus, mà khổ nỗi số hotline lại gắn sim trong điện thoại Nokia cục gạch, các tin nhắn thì nội dung dài và na ná giống nhau, chỉ khác về thời gian, lớp và só tiền. Mỗi tin nhắn lại tốn công sửa dữ liệu khác nhau, hơi tốn thời gian, dễ nhầm lẫn và rất chi là... mỏi tay. Em vốn xuất thân từ bên Cơ Điện Tử nên em dự định là sẽ làm 1 cái mạch điện nhỏ gắn sim và lập trình kết nối máy tính giúp tự động hóa quy trình này. Phần mạch điện và lập trình với nó thì ổn vì là chuyên ngành của em, em đang bị bí phần xử lý dữ liệu từ danh sách được bên học vụ cung cấp cho, phải lọc và tách dữ liệu ra mới dùng được.

Em mô tả sơ qua vầy, trong file đính kèm em có mô tả kỹ hơn về cách thực hiện rồi nên mọi người xem trong file sẽ rõ hơn.

Từ file dữ liệu được cấp, bên học vụ sẽ bôi đỏ các học viên nào chưa đóng tiền thì mình dựa vào đó để nhắn tin tới số điện thoại và thông báo số tiền cho khóa học đó. Em cần tách được dữ liệu từ đó để ra 1 sheet chỉ còn 2 cột là tin nhắn đã hoàn thiện và số điện thoại đã được chỉnh sửa thêm +84 vào phía trước. Sheet này em sẽ nạp vào data của mạch điện để truyền tin nhắn đi.

Em xin gửi file đính kèm để mô tả kỹ hơn về quy trình này.

Cám ơn sự giúp đỡ của mọi người.
Bạn thử code sau:
Mã:
Sub SmileyFace1_Click()
Dim i As Long, Lr As Long
Dim Sh As Worksheet, k As Long
Dim lop As String, tien As String, tien2 As String

Set Sh = Sheets("Xu ly")
Sh.Range("A2:C" & Sh.Range("A" & Rows.Count).End(xlUp).Row + 1).UnMerge
Sh.Range("A2:C" & Sh.Range("A" & Rows.Count).End(xlUp).Row + 1).ClearContents
With Sheet1
    Lr = .Range("B" & Rows.Count).End(xlUp).Row
    For i = 3 To Lr
         If .Range("C" & i).Font.Color = RGB(255, 0, 0) Then
            k = k + 1
            lop = Right(.Range("J" & i).Value, 3)
            tien = Left(.Range("J" & i).Value, Len(.Range("J" & i).Value) - 4)
            If InStrRev(tien, "k") <> 0 Then
                tien2 = WorksheetFunction.Substitute(tien, "k", ".000")
            Else
                If InStrRev(tien, ".") = 0 Then
                    tien2 = WorksheetFunction.Substitute(tien, "mil", ".000.000")
                Else
                    tien2 = WorksheetFunction.Substitute(tien, "mil", "00.000")
                End If
            End If
            Sh.Range("A" & k + 1).Value = k
            Sh.Range("B" & k + 1).Value = "Trung tam xin duoc thong bao phi xe bus cua lop " & lop & " khai giang ngay " & .Range("C" & i).Value & " la " & tien2 & " dong, Tran trong !"
            Sh.Range("C" & k + 1).Value = .Range("B" & i)
         End If
    Next i
End With
MsgBox "Done!!!"
Set Sh = Nothing
End Sub
 
Bạn thử code sau:
Mã:
Sub SmileyFace1_Click()
Dim i As Long, Lr As Long
Dim Sh As Worksheet, k As Long
Dim lop As String, tien As String, tien2 As String

Set Sh = Sheets("Xu ly")
Sh.Range("A2:C" & Sh.Range("A" & Rows.Count).End(xlUp).Row + 1).UnMerge
Sh.Range("A2:C" & Sh.Range("A" & Rows.Count).End(xlUp).Row + 1).ClearContents
With Sheet1
    Lr = .Range("B" & Rows.Count).End(xlUp).Row
    For i = 3 To Lr
         If .Range("C" & i).Font.Color = RGB(255, 0, 0) Then
            k = k + 1
            lop = Right(.Range("J" & i).Value, 3)
            tien = Left(.Range("J" & i).Value, Len(.Range("J" & i).Value) - 4)
            If InStrRev(tien, "k") <> 0 Then
                tien2 = WorksheetFunction.Substitute(tien, "k", ".000")
            Else
                If InStrRev(tien, ".") = 0 Then
                    tien2 = WorksheetFunction.Substitute(tien, "mil", ".000.000")
                Else
                    tien2 = WorksheetFunction.Substitute(tien, "mil", "00.000")
                End If
            End If
            Sh.Range("A" & k + 1).Value = k
            Sh.Range("B" & k + 1).Value = "Trung tam xin duoc thong bao phi xe bus cua lop " & lop & " khai giang ngay " & .Range("C" & i).Value & " la " & tien2 & " dong, Tran trong !"
            Sh.Range("C" & k + 1).Value = .Range("B" & i)
         End If
    Next i
End With
MsgBox "Done!!!"
Set Sh = Nothing
End Sub

Wow, cám ơn bạn nhiều, code hoạt động rất tốt. Mà còn thiếu 1 chút xíu nữa, bạn giúp mình nhé, phần cột điện thoại thì thêm +84 vào phía trước, số nào có số 0 ở đầu thì bỏ 0 đi, còn số nào không có 0 thì chỉ việc thêm +84 vào.

Cám ơn bạn sự giúp đỡ của bạn nhiều nhé.

Thân ái!
 
Web KT
Back
Top Bottom