如何将列A中的特定字符replace为Excel中列B中的值?

我在Excel中工作。 下面的代码是列A中的4行。在列BI中有一系列从0开始的整数。我希望列B中的值replace“?”。 在A列。我search谷歌高级复制和粘贴,并find和replace技术在Excel中,但结果只是告诉我使用粘贴特殊。 我试图在查找和replace工具中引用列B,但无法这样做。 任何帮助将不胜感激。

"<class type=""sItemManager::cITEM_PARAM_DATA""> <s16 name=""data.mNum"" value=""900""/> <s16 name=""data.mItemNo"" value=""?""/> <u32 name=""data.mFlag"" value=""1""/> <u16 name=""data.mChgNum"" value=""0""/> <u16 name=""data.mDay1"" value=""0""/> <u16 name=""data.mDay2"" value=""0""/> <u16 name=""data.mDay3"" value=""0""/> <s8 name=""data.mMutationPool"" value=""0""/> <s8 name=""data.mOwnerId"" value=""4""/> <u32 name=""data.mKey"" value=""0""/> </class>" "<class type=""sItemManager::cITEM_PARAM_DATA""> <s16 name=""data.mNum"" value=""900""/> <s16 name=""data.mItemNo"" value=""?""/> <u32 name=""data.mFlag"" value=""1""/> <u16 name=""data.mChgNum"" value=""0""/> <u16 name=""data.mDay1"" value=""0""/> <u16 name=""data.mDay2"" value=""0""/> <u16 name=""data.mDay3"" value=""0""/> <s8 name=""data.mMutationPool"" value=""0""/> <s8 name=""data.mOwnerId"" value=""4""/> <u32 name=""data.mKey"" value=""0""/> </class>" "<class type=""sItemManager::cITEM_PARAM_DATA""> <s16 name=""data.mNum"" value=""900""/> <s16 name=""data.mItemNo"" value=""?""/> <u32 name=""data.mFlag"" value=""1""/> <u16 name=""data.mChgNum"" value=""0""/> <u16 name=""data.mDay1"" value=""0""/> <u16 name=""data.mDay2"" value=""0""/> <u16 name=""data.mDay3"" value=""0""/> <s8 name=""data.mMutationPool"" value=""0""/> <s8 name=""data.mOwnerId"" value=""4""/> <u32 name=""data.mKey"" value=""0""/> </class>" "<class type=""sItemManager::cITEM_PARAM_DATA""> <s16 name=""data.mNum"" value=""900""/> <s16 name=""data.mItemNo"" value=""?""/> <u32 name=""data.mFlag"" value=""1""/> <u16 name=""data.mChgNum"" value=""0""/> <u16 name=""data.mDay1"" value=""0""/> <u16 name=""data.mDay2"" value=""0""/> <u16 name=""data.mDay3"" value=""0""/> <s8 name=""data.mMutationPool"" value=""0""/> <s8 name=""data.mOwnerId"" value=""4""/> <u32 name=""data.mKey"" value=""0""/> </class>" 

尝试以下操作(可以删除为debugging目的而包含的一些variables):

 Sub test() Dim rng As Range, cl As Range Set rng = Range("A1:A4") Dim cl1 As Range, cl2 As Range For Each cl1 In rng Set cl2 = cl1.Offset(0, 1) Dim ival As Integer ival = cl2.Value Dim res As String res = Application.WorksheetFunction.Substitute(cl1.Text, "?", Trim(Str(ival))) cl1 = res Next cl1 End Sub 

或这个

 Sub test() Dim rng As Range, cl As Range Set rng = Range("A1:A4") Dim cl1 As Range, cl2 As Range For Each cl1 In rng Set cl2 = cl1.Offset(0, 1) Dim ival As Integer ival = cl2.Value cl1.Replace What:="~?", Replacement:=Str(ival) Next cl1 End Sub