Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Excel Schedule-可以引用数组元素的用户定义文本_Excel_Vba - Fatal编程技术网

Excel Schedule-可以引用数组元素的用户定义文本

Excel Schedule-可以引用数组元素的用户定义文本,excel,vba,Excel,Vba,我正在写一个宏来收集碎片。在每个地点,将执行一系列任务以回收碎片。这些位置中的大多数都需要相同的活动,因此我假设它们都是相同的,用户可以在宏完成后根据需要修改它们。以下是当前代码: Public Function additional_Lines(ByVal target_ID) ActiveCell.offset(1, 0).Select Dim offset As String offset = " " Dim additional_Text As Variant additi

我正在写一个宏来收集碎片。在每个地点,将执行一系列任务以回收碎片。这些位置中的大多数都需要相同的活动,因此我假设它们都是相同的,用户可以在宏完成后根据需要修改它们。以下是当前代码:

Public Function additional_Lines(ByVal target_ID)

ActiveCell.offset(1, 0).Select
Dim offset As String

offset = "     "

Dim additional_Text As Variant
additional_Text = Array(offset & "Relocate to " & target_ID, offset & "Recover " & target_ID, offset & "Recover basket")

For i = 0 To UBound(additional_Text)
    ActiveCell.Value = additional_Text(i)
    ActiveCell.offset(1, 0).Select
Next i

End Function
这将生成以下输出

OSP-040
     Relocate to OSP-040
     Recover OSP-040
     Recover basket
ZDUN-THI-004
     Relocate to ZDUN-THI-004
     Recover ZDUN-THI-004
     Recover basket
OSP-046
     Relocate to OSP-046
     Recover OSP-046
     Recover basket
OSP-056
     Relocate to OSP-056
其中,OSP-056、OSP-046、ZDUN-THI-004、OSP-004是碎屑位置

我希望允许用户在其中一张表中的碎片位置之间键入他们想要插入的文本,即:

 Relocate to (Debris ID Number)
 Recover (Debris ID Number)

碎片ID号存储在阵列中。是否可以读取上面的2个字符串,然后用变量替换(碎片ID号),以便我可以从碎片ID数组中更新它?

有一个替换函数,可以在字符串中搜索指定的字符串,一旦找到,就可以替换它。我并没有用静态字符串替换它,而是引用了一组碎片ID

For y = 1 To UBound(additional_Lines)
    new_additional_Lines(y) = Replace(additional_Lines(y, 1), ID, " " & target_ID & " ")
Next y

再次感谢大家的帮助。

这有点含糊不清。Re 1可以使用消息框Y/N?,Re 2需要连接。@SJR希望这更清楚一点?基本上我不知道他们将要输入的字符串,但我假设他们将引用其中某个碎片目标。所以我需要在他们的字符串中添加一个placemarker,然后用当前碎片ID替换它。你有查找表吗?您不能使用数据验证或下拉框将他们输入的内容限制为您需要的内容吗?