Excel VBA宏向多个联系人发送WhatsApp自定义消息

Excel VBA宏向多个联系人发送WhatsApp自定义消息,excel,vba,loops,Excel,Vba,Loops,我在下面有一个宏代码,用于将H列中的whatsapp消息发送给A3:A10列中的多个联系人。但是,下面的代码不断循环,只向A3单元格中的联系人发送相同的消息 如何将自定义消息发送到A4、A5等 Sub msg_click() On Error GoTo errorh: mobileno = Selection.Value Set myrange = Sheet1.Range("A3:A10") rowno = Application.WorksheetFunction.Mat

我在下面有一个宏代码,用于将H列中的
whatsapp
消息发送给A3:A10列中的多个联系人。但是,下面的代码不断循环,只向A3单元格中的联系人发送相同的消息

如何将自定义消息发送到A4、A5等

Sub msg_click()
On Error GoTo errorh:
mobileno = Selection.Value
Set myrange = Sheet1.Range("A3:A10")
rowno = Application.WorksheetFunction.Match(mobileno, myrange, 0)
Message = Sheet1.Cells(rowno, 8).Value

Do Until Range("A3") = ""
ActiveCell.Offset(1, 0).Range("A1").Select
ActiveWorkbook.FollowHyperlink Address:="https://wa.me/" & mobileno & "?text=" & Message & ""
Application.Wait Now() + TimeSerial(0, 0, 3) 'ok just one wait and sendkeys :v
SendKeys "~"
Loop
End
errorh:
Err.Clear
MsgBox "Select Proper Mobile Number "
End Sub

错误在于您总是只检查循环中的单元格A3。并且始终对同一单元格A1执行偏移。正如BigBen评论的那样,在myRange中使用每个钻机确实是更好的做法。如果你想要一个简单的黑客,你应该修改它如下

Sub msg_click()

Range("A3").Activate
Do Until ActiveCell.Value = ""

ActiveWorkbook.FollowHyperlink Address:="https://wa.me/" & ActiveCell.Value & "?text=" & ActiveCell.Offset(0, 7).Text
Application.Wait Now() + TimeSerial(0, 0, 3) 'ok just one wait and sendkeys :v
SendKeys "~"

ActiveCell.Offset(1, 0).Activate
Loop
End

End Sub

这不是最佳实践,但我想您已经开始了。

不要使用
ActiveCell
<代码>对于myRange中的每个rng是一种更好的循环方式。您好,如果我的代码有帮助,请将其标记为已回答并向上投票。谢谢:)非常感谢卡米尔,它对我有用。是否可以添加任何代码来关闭浏览器选项卡?因为在执行上述宏之后,浏览器会留下许多打开的选项卡。再次感谢您的帮助。@JiaLiang我很高兴它对您有用。您是否介意将我的答案向上投票(单击0上方的箭头)?这是可能的。然而,您似乎有时间对诸如Python之类的通用语言(简单、流行、强大)感兴趣。您在VBA中所做的事情在Python中要容易得多(我想还有很多其他的),您可以控制整个环境,即列表、消息、浏览器等。我点击了上面的箭头,但是我收到了感谢反馈的消息!声誉低于15的人所投的票将被记录,但不会改变公开显示的帖子分数。感谢您对Python的推荐。我会调查的。