Microsoft Excel VBA
我有一个包含商店ID代码和字符串的字符串列表。在Y列中合并的地址,我想在此列表中删除,只提取ID代码,然后将其粘贴到C列的第二个电子表格中。
我正在努力解决如何使用For语句为列中的每个单元格循环它,因为我希望语句从Activesheet列Y中的单元格中查找信息,然后将子字符串粘贴到Sheet Part 1 C列中,然后循环到两个工作表范围内的下一个单元格。
我的代码不足:
为ActiveSheet中的Y列设置for循环,其中存储了商店ID信息
For Each cell In ActiveSheet.Range("Y:Y")
创建一个位置变量来存储instr值,应该更改每个循环,不确定这是否是这样做的方式
Dim location As Integer
创建一个对象,用于存储ID代码在我的字符串中完成的位置
location = InStr(1, ActiveSheets.Range("Y:Y"), " ")-1
将left函数与location对象一起使用,告诉excel我想复制商店ID并将其粘贴到第1部分表中的C列。
Left(xCell, location).Copy Sheets("Part 1").Range("C:C")
Next
没有注释的完整代码:
For Each cell In ActiveSheet.Range("Y:Y")
Dim location As Integer
location = InStr(1, ActiveSheets.Range("Y:Y"), " ")-1
Left(xCell, location).Copy Sheets("Part 1").Range("C:C")
Next
感谢您的任何建议
答案 0 :(得分:0)
Dim Location as long
Dim c as range
For each c in range("Y:Y")
Location = instr(" ",trim(c.text))
if location >0 then
sheets("Part 1").range("C" & c.row).value = left(c,location)
end if
next c
这假定您希望它们出现在列C中与它们在Y列中相同的行中
编辑以修复我的错误并添加修剪 - 我怀疑你在Y列中有一个前导空格?