我试图让VBA向名称管理器写入一个值以存储日期,而不是在公式中使用function reformatSelectManyCheckbox() {
var tabl=document.getElementById("form:MyManyCheckBox");
var tr=tabl.rows; // find the TR row
var cells=tr[0].cells; // all the cells (TD) on this row
var g;
var sz=cells.length;
var r=0; // index for the new rows
var celln=0; // index for the new cells, per row
var row=null;
for (g=0; g< sz; g++) {
// I want 4 cells per row
if(g % 4 == 0) { row=tabl.insertRow(r); r++; celln=0;}
var cell = row.insertCell(celln);
cell.innerHTML=cells[g].innerHTML;
celln++;
}
tabl.deleteRow(r); // delete the original one line row
}
函数。
我的这段代码似乎有效。
Today()
有更好的方法吗?不使用ThisWorkbook.Names.Add "Today", "=Datevalue(""" & Date & """)"
?
答案 0 :(得分:2)
任何地方都使用了Today(),应该可以在其地方使用严格的数值。
ThisWorkbook.Names.Add name:="Today", refersto:=chr(61) & CLng(Date)
那应该做。将Date更改为文本值只是为了转过来使用DateValue再次将其转换为日期似乎是多余的。
您可能不希望其他人看到定义的名称。
ThisWorkbook.Names.Add name:="Today", refersto:=chr(61) & CLng(Date), visible:=false
我建议将其放置在Workbook_Open或其他适当的子过程中。
Option Explicit
Private Sub Workbook_Open()
On Error Resume Next
ThisWorkbook.Names("Today").Delete
On Error GoTo 0
ThisWorkbook.Names.Add Name:="Today", RefersTo:=Chr(61) & CLng(Date), Visible:=False
End Sub