用于替换单元格值并保持格式化的VBA脚本

时间:2017-08-21 15:03:48

标签: excel vba excel-vba ms-word word-vba

我在下面的表格中写道,我正在尝试编写一个脚本,用不同的客户付款替换下面单元格的内容(即用2,000英镑替换1,100英镑)。下面是我的脚本片段,但是当我写回单元格时,它会丢失所有格式和编号列表。

如何使用非常相似的数据替换单元格数据并保持格式化?

PS。我已经简化了单元格的内容以便于阅读,因此代码不会完全适用于该内容

Before After

DescPlan = Trim(t1.Cell(2, 2).Range.Text)
DescTest = InStr(1, DescPlan, ":")
finalString = Left(DescPlan, DescTest)

t1.Cell(2, 2).Range.Text = Replace(DescPlan, finalString, "Payment by the customer of " + Format(v, "Currency") + " will be due upon completion of items below:")

1 个答案:

答案 0 :(得分:0)

不确定这是否有帮助,但您使用的是表格,那么适用于excel的内容也适用于您。

Sub replace_keep_format()

Dim t1 As Range
Dim sStrng As String, rStrng As String
Dim i As Integer

sStrng = "£1,100"
rStrng = "£2,000"
i = 1

Do Until ThisWorkbook.Sheets(1).Range("a" & i) = ""
Set t1 = ThisWorkbook.Sheets(1).Range("a" & i)
t1 = Replace(Expression:=t1, Find:=sStrng, Replace:=rStrng)
i = i + 1
Loop

End Sub