怎样用EXCEL有规律地复制一段代码中的部分文本

例如:
我想将这样一段代码————————————
<Item/>
<Item/>
<Itema=1/>
<Item/>
<Item/>
<Itemb=1/>
<Item/>
<Item/>
<Itemc=1/>
<Item/>
<Item/>
<Item/>
<Item/>
<Item/>
<Itemd=1/>
<Item/>
变成——————
<Item/>
<Item/>
<Itema=1/>
<Itema=2/>
<Item/>
<Item/>
<Itemb=1/>
<Itemb=2/>
<Item/>
<Item/>
<Itemc=1/>
<Itemc=2/>
<Item/>
<Item/>
<Item/>
<Item/>
<Item/>
<Itemd=1/>
<Itemd=2/>
<Item/>

如何才能达到上面的效果?
我感觉应该用EXCEL吧?
用其他软件也可以,总之能这样批量复制并替换部分文本就可以
请高手指教有没有这样的办法?
上面只是举个例子,并不是真正的代码。
我的意思是,将凡是带有“=”号的行,复制成上下2行,并在被复制的第二行中,将数字1全部变为数字2
上述的“a、b、c、d...z”其实是无规律变量、有什么命令或是软件能认出全部带有“=”号这个特点的的行并进行复制呢?

用电子表格

1、在代码前先插入一个列,填充一个行号

2、在代码后一个列,输入

   =a1+0.5

   向下填充(行号加0.5)

3、在再下一个列输入

   =IF(ISNUMBER(FIND("=",B1)),SUBSTITUTE(B1,1,2),"")

   向下填充

4、按最后一列排序将所有有内容的行排在一起

5、复制所有有内容的行和前面有.5的行号

6、在第一列的最后按值进行选择性粘贴

7、按第一列(行号)排序

8、删除多余的内容

温馨提示:答案为网友推荐,仅供参考
第1个回答  2009-10-11
Word的查找替换功能十分强大,完全可以用Word来完成,由于楼主的变量格式未知,如果“变量长度”固定,这将十分简单,一步查找替换即可完成,如果不是哪么查找替换将麻烦点了
一、变量长度固定,都是一个字符或两个字符的情况:
1、将代码粘贴到word中,按CTRL+H打开查找和替换,点“高级”。
2、将包含=1的行复制并替换成=2
方法:
查找框里输入 \<(Item?=)(1\/\>)
替换框里输入 ^&^p<\12/>
勾选“使用通配符”

如果是两个字符的情况查找框改为 \<(Item??=)(1\/\>)
多加个 ? 即可,依此类推。

二、变量长度不固定的情况,复杂点:
1、将代码粘贴到word中,按CTRL+H打开查找和替换,点“高级”。
2、先将<Item/>替换成 @@ 当然替换成其它的也行,这只是为下面一步查找过渡
方法:
查找框里输入 \<Item\/\>
替换框里输入 @@
勾选“使用通配符”
3、将包含=1的行复制并替换成=2
方法:
查找框里输入 \<(Item*=)(1\/\>)
替换框里输入 ^&^p<\12/>
勾选“使用通配符”
4、将其余的 @@ 替换成 <Item/>
方法:
查找框里输入 @@
替换框里输入 <Item/>
取消“使用通配符”
第2个回答  2009-10-09
我来试试:
先在B 列为所有数据添加序列号;再在C列求A列的字符数
〔=len(A1)]
可知我们要在字符数为10的下方插入空格,接着筛选这三列数据,选C列为10的,复制B列序号接着B列最后一个号粘贴,然后选中全部数据按B列排序;
选中A 列数据,按F5定位选空值,在第一个空值A4里输入公式:
〔=left(A3,7)&"2"&right(A3,2)]
然后按CTRL+ENTER结束,删除B和C列,结束.
第3个回答  2009-09-24
楼主,请用下边方法.

我假设您的数据是放在A列, A1开始. 请按如下操作

Alt+F11-->Alt + I (字母I)-->M, 复制并粘贴下面全部代码到右侧窗口中,然后 按工具栏上的"执行子程序" (向右的小三角图标)

Sub insertrow()
Dim rs, i As Long
rs = Range("A65536").End(xlUp).Row
i = 1
Do While Cells(i, 1) <> ""
If InStr(1, Cells(i, 1), "1") <> 0 And InStr(1, Cells(i + 1, 1), "2") = 0 Then
Cells(i + 1, 1).EntireRow.Insert
Cells(i + 1, 1) = Mid(Cells(i, 1), 1, InStr(1, Cells(i, 1), "1") - 1) & "2/>"
rs = rs + 1
End If
i = i + 1
Loop
End Sub

我已测试过可行,如果您有疑问请百度HI我
第4个回答  2009-09-25
把你的代码复制到WORD文件。
按CTRL+H替换,将<Itemc=1/>替换成<Itemd=1/> ^P <Itemd=2/>就可以了。
^P在WORD中是换行符,就是一段后回车的意思。
相似回答