For Each 循环不是循环到下一行并应用我的代码,而是从同一行的下一个单元格开始。
我是VBA初学者,我所有的代码都来自互联网。我正在使用一个表单,我想用 Excel 文件中的数据自动填充该表单。
所以,数据是连续的,比如说 B3:D3,我的代码会挑选出每个单元格的值并将其复制到表单中的文本框。但它不会转到下一行或 B4:D4,而是循环并从 C3:E3 获取数据。
这是我的代码的一部分:
For Each Cell In Range("B3:D32").Cells
If Cell.Value = "" Then Exit For
Set obj = New Selenium.ChromeDriver
obj.Start
obj.Get "insert website here"
obj.FindElementByName("Enter Title").SendKeys (Cell.Offset(0, 0).Value)")
obj.FindElementByXPath("//button[@aria-describedby='cdk-describedby-message-6']").click
obj.FindElementByXPath("//img[@class='ng-star-inserted']").click
obj.FindElementByXPath("//input[@placeholder='Search for Employee/Group']").SendKeys (Cell.Offset(0, 3).Value)
当我浏览列中的数据时,它起作用了,而且我已经浏览了所有问题和教程,但我似乎找不到进入下一行的答案。感谢您的帮助!
要逐行移动,您需要遍历垂直向量:
For Each Cell In Range("B3:B32").Cells
然后你可以使用Offset方法到达同一行的其他单元格:
Cell.Offset(0, 1)
此外,您还可以遍历行:
For i = 3 to 32
x = Rows(i).Cells(column)
Next
其中column是所需的列号,也可以用字母表示(例如“B”)。