我在创建代码时无法从excel的列中输入数据进入我的作品销售定价页面。我的循环访问页面的所有输入均能正常工作,但是,在遍历该列范围时遇到了麻烦数据在excel中。
我也无法发布我正在使用的网站,因为它需要我的工作登录。
我觉得我的问题在这里
For Each SalePrice In Inputs
SalePrice.innerText = ThisWorkbook.Sheets("Prices").Range("A1:A69")
Next
当我以“ A:A”格式输入范围时,它将不会在浏览器表单中输入单元格文本。如果我只添加一个像“ A1”或硬编码“ test”这样的单元格区域,它将将该单元格值添加到输入中。
有人对我如何从列范围内的每个单元格提取数据并将其输入表格有任何建议吗?
对此我有点陌生,所以我对任何事情表示歉意。
我的代码:
Sub Test1()
Dim ie As Object
Dim doc As HTMLDocument
Set ie = CreateObject("InternetExplorer.Application")
saleNum = InputBox("Enter the Sale Address")
ie.Visible = True
ie.navigate "WEBSITE" & saleNum
Do While ie.Busy
Application.Wait DateAdd("s", 1, Now)
Loop
Set doc = ie.document
doc.getElementById("check_all").Click
Dim cells As Range
Dim SalePrice
Dim Inputs
Dim PriceRange As Range
Set SalePrice = doc.getElementsByName("saleprice")
Set Inputs = doc.getElementsByName("saleprice")
For Each SalePrice In Inputs
SalePrice.innerText = ThisWorkbook.Sheets("Prices").Range("A1:A69")
Next
答案 0 :(得分:1)
您当前正在尝试在输入元素的循环期间传递数组,而不是传递单个值。假设有69个输入元素,即“输入”中的元素数为69,并且您在工作表中的数据是您希望输入的顺序,那么类似:
Dim i As Long
i = 1
For Each SalePrice In Inputs
SalePrice.Value = ThisWorkbook.Worksheets("Prices").Range("A" & i).Value
i = i + 1
Next
答案 1 :(得分:1)
由于您在这里使用了两个单独的集合(工作表范围和网页中的this.canvasContext = canvas.getContext('2d');
// ^-- Missing `this` here
元素,因此我个人希望使用this.
语句而不是saleprice
,并且您可以只需使用它们的索引遍历每个对象集合。
For i =