我学习了java和C,现在我正在尝试学习VBA for excel,但是我对将参数传递给VBA方法感到有点困惑
当我们在C中传递参数时,我们做:
void Foo(int i)
{
// Do things
}
void Bar()
{
int temp = 1;
Foo(temp);
}
但是在vba中,当我使用记录宏来学习时,它给了我这一行。
ActiveWorkbook.Names.Add Name:=“NewName”,RefersToR1C1:=“= Sheet1!C8”
如果我尝试使用方法Add
而没有记录功能,我会输入
ActiveWorkbook.Names.Add(“NewName”,“Sheet1!C8”)
让我感到困惑的是,有时我们会像java / C一样将参数传递给方法,例如:
Cells(Rows.count,1)
那么我们什么时候使用:=
,我们什么时候才能像java / C一样传递参数?
由于
答案 0 :(得分:0)
如果按顺序传递所有必需参数,则不需要命名参数(java / C样式)。如果你跳过可选参数(依赖于它们的默认值)或者在声明顺序之外传递参数,那么你需要命名参数。
使用Range.Cells property和Range.Address property:
来说明这一点for(int i = 0; i < a.length(); i++){
// Here you need to get JSONObject from JSONArray at Index i.
JSONOject jj = a.getJSONObject(i);
//Now you need to get product JSONObject
JSONObject jsonObj = jj.getJSONObject("product");
//From jsonObj you get all information about product.
}