如何在VBA中使范围动态

时间:2019-03-22 13:42:53

标签: excel vba

下面,我有发送个性化SMS消息并包含名称的代码。我让那部分工作。现在,我只需要进行调整,使我的范围是动态的,并向下移动相应的列,直到没有消息可发送。在当前状态下,它只会向第一个人发送消息。我尝试查找动态范围教程,循环等,但是它们要么太复杂以至于我无法掌握,要么需要我重写已经在使用的内容。

(0xC in hexadecimal)

1 个答案:

答案 0 :(得分:1)

您只需要在最后一行添加变量即可。

还要用工作表来限定这些范围!

Dim ws As Worksheet: Set ws = ThisWorkbook.Sheets("Sheet1")

Dim LR As Long
LR = ws.Range("A" & ws.Rows.Count).End(xlUp).Row

Set contactNumberRange = ws.Range("D2:D" & LR)
Set messageRange = ws.Range("E2:E" & LR)
Set clientNameRange = ws.Range("A2:A" & LR)

For Each phoneCell In contactNumberRange
    For Each messageCell In messageRange
        For Each nameCell In clientNameRange
            SendMessage FROMPHONE, nameCell.Value, phoneCell.Value, messageCell.Value
        Next nameCell
    Next messageCell
Next phoneCell