B1 = https://g10oal.com/match/a03716cc-adf5-4818-949d-7dd2cc3cbe59/odds#hdc
B2 = https://g10oal.com/match/863a7390-eb42-48a5-bca4-45aa7a92b1f0/odds#hdc
。
。
。
B10 = https://g10oal.com/match/ef07412e-61b6-4f2a-b93a-8c9d8b1b056/odds#hdc
我想编写宏以将B1到达B10的URL表
var spreadsheet = SpreadsheetApp.getActive();
var blankSyntaxA = 'ImportHtml("';
var Link1 = spreadsheet.getRange('B1');
var blankSyntaxB = '", "table", 4)';
var liveSyntax = blankSyntaxA + Link + blankSyntaxB;
spreadsheet.getRange('L1').activate();
spreadsheet.getCurrentCell().setFormula(liveSyntax);
但是显示的L1 => =ImportHtml("Range", "table", 4)
,这不是网页表的内容。
如何将范围变成B1 URL?
我按如下方式更改了股票。现在,我面临的问题应该是:
1)L1始终获得B1链接,而B1链接无法获得B2,B3,B4。 2)F1到K5的数据相同。
我想输出应该是:
第一次循环
1)L1获得B1链接表
2)F1 = N2,G1 = P2,H1 = O2 3)I1 = N + LastRow,J1 = P + LastRow,K1 = H + LastRow 第二循环 1)L1获得B2链接表 2)F2 = N2,G2 = P2,H2 = O2 3)I2 = N + LastRow,J2 = P + LastRow,K2 = H + LastRow 三连环 1)L1获得B3链接表 2)F3 = N2,G3 = P2,H3 = O2 3)I3 = N + LastRow,J3 = P + LastRow,K3 = H + LastRow
答案 0 :(得分:0)
类似的事情应该可以做到。 vA [i] [1]是B列vA [i] [11]是L列。
With ThisWorkbook.Sheets("Sheet1")
.Columns("J").SpecialCells(xlCellTypeVisible).Copy _
Destination:=Sheet2.Range("A1")
.Range("A2:A3").EntireRow.Hidden = True
.Columns("K:N").SpecialCells(xlCellTypeVisible).Copy _
Destination:=Sheet2.Range("B1")
End With
您也可以使用以下方法:
function assembleCellFormula(){
var ss=SpreadsheetApp.getActive();
var sh=ss.getActiveSheet();
var rg=sh.getDataRange();
var vA=rg.getValues();
for(var i=0;i<vA.length;i++){
vA[i][11]=Utilities.formatString('=ImportHtml("%s","table",4)',vA[i][1]);
}
rg.setValues(vA);
}
注意:我没有测试这些,所以它们可能需要一些调试才能工作。 Utilities.formatString的说明here