如何在VBA中的某个文本位置粘贴值?

时间:2014-10-03 14:39:03

标签: excel vba excel-vba

我有一张2张工作簿。第一张表包含要复制数据的表,第二张表包含我想插入拼写数据的字符串。 问题是我不知道如何确定第二个表格字符串的文本开始/结束位置,我想粘贴哪个?

例如: 在我在A1:A4

范围内的第一张纸上
<Tracciato xmlns="http://">
  <Riquest>
    <Test>
      <Code></Code>

然后我从第二张B2单元格中获取值293并将其插入之间,所以我得到:

<Tracciato xmlns="http://">
  <Riquest>
    <Test>
      <Code>293</Code>

代码可以是:

Sub Data()
Sheets("First_sheet").Select

Sheets.("First_sheet").Range("B2").Copy Destination:=Sheets("Second_sheet")
End Sub

1 个答案:

答案 0 :(得分:1)

这是一个简短的例子:

Sub foo()
Dim copyRange as Range
Dim destRange as Range
Dim copyString as String

'Define the cell from which you want to "copy" the text
Set copyRange = Sheets("First_Sheet").Range("B2")

'Define the destination:
Set destRange = Sheets("Second_Sheet").Range("B2")

'Assign the value from a cell to this string variable
copyString = copyRange.Value

'Now insert the text:
destRange.Value = Left(destRange, 6) & copyString & Right(destRange, 7)

End Sub

当然,实际上你很可能需要在某种 Loop 结构中实现它。你可能需要使用一些逻辑确定目的地在哪里,如果不是1:1的关系(即Sheet1上的B2 - > Sheet2上的B2,等等)。您可能还需要使用一些逻辑来更好地定义插入位置的开始/结束。现在,示例代码仅用于将值插入到<Code></Code>等节点。