按顺序替换列中的字符串

时间:2016-09-07 11:07:34

标签: excel-vba macros vba excel

我对宏很天真。我在A列中有500行数据。请注意,某些行之间是空白的。数据是图像文件名,如(X0011@00.jpg)。我需要用用户输入顺序重命名它们。用户输入必须仅为400500.新名称必须类似于(400500_Image-1.jpg)。必须按顺序自动生成_Image-1,_Image-2等,省略空行。

请参阅下文,我的数据在A栏中的显示方式以及我在B栏中的表达方式。

如果有人能为此提供宏,我感激不尽。

  Col A              Col B

X0011@00.jpg    400500_Image-1.jpg
X0021@00.jpg    400500_Image-2.jpg
X0041@00.jpg    400500_Image-3.jpg

X0071@00.jpg    400500_Image-4.jpg
X0051@00.jpg    400500_Image-5.jpg


X0031@00.jpg    400500_Image-6.jpg
X0061@00.jpg    400500_Image-7.jpg
X0091@00.jpg    400500_Image-8.jpg

由于

1 个答案:

答案 0 :(得分:1)

Sub naming()
RowsToProcess = Range("A" & Rows.Count).End(xlUp).Row
j = 1

userInput = InputBox("Give me text")

For i = 1 To RowsToProcess
   If Not Cells(i, 1).Value = "" Then

    Cells(i, 2).Value = userInput & "_Image-" & j & ".jpg"
    j = j + 1
   End If
Next
End Sub

此宏根据需要创建列B