我的目标是创建宏,其目的只是按升序对表进行排序。我知道保存几次点击似乎需要付出很多努力,但我需要它作为更大宏的一部分,其余的已经有效。使用记录功能,我得到了这个。
Sheets("Sheet1").ListObjects(1).ListColumns(1).Range
上面的代码确实有效,但我想这样做而不必专门引用表名,因为这可能会根据我使用它的位置而改变。我想用这样的东西
Table1[[#All],[Column1]]
据我所知,应该指向相同的范围
ListObjects(1)
,但VBA并不喜欢它。它出错了"对象不支持此属性或方法"。我对使用Sheets("Sheet1").ListObject(1).ListColumns(1).Range
非常有信心,因为表格上应该只有一个表格。
Table1[[#All],[Column1]]
是否等同于import java.util.Scanner;
public class test {
public static void main(String[] args){
Scanner input = new Scanner(System.in);
int numTried = 1;
boolean stop = false;
String entry = "";
String[] num = new String[10];
while(numTried <= 10 && !stop){
System.out.print("Enter name " + numTried + ": ");
entry = input.nextLine();
if(entry.toUpperCase().equals("DONE")){
stop = true;
}else{
num[numTried - 1] = entry;
}
numTried ++;
}
for(String s : num){
if(!(s == null)){
System.out.println(s);
}
}
input.close();
}
}
?更新:谢谢Chris的回答;后来我也意识到我可以在脚本开头重命名表,避免这一切。
答案 0 :(得分:0)
经过测试,它的工作原理Table1
是工作表上的第一个或唯一的ListObject,Column1
是第一列
Sub Demo()
With ActiveWorkbook.Worksheets("Sheet1").ListObjects(1).Sort
.SortFields.Clear
.SortFields.Add _
Key:=Sheets("Sheet1").ListObjects(1).ListColumns(1).Range, _
SortOn:=xlSortOnValues, _
Order:=xlAscending, _
DataOption:=xlSortNormal
.Header = xlYes
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
End Sub