如何获得当前Excel选择范围? ( 积分: 150 )

  • 主题发起人 主题发起人 yf168
  • 开始时间 开始时间
Y

yf168

Unregistered / Unconfirmed
GUEST, unregistred user!
如题:
比如 用户在excel里面选择了一个范围,比如Range("C7:F16"),
请问如何获得该范围,比如 c7和F16
 
如题:
比如 用户在excel里面选择了一个范围,比如Range("C7:F16"),
请问如何获得该范围,比如 c7和F16
 
selection. range(col1,row1, col2,row2)
最好的办法用宏录制, 跟踪一次操作,看vb代码, 翻译成delphi.
 
同意楼上的!
procedure TForm1.pdTriangleCreate(Aleft,Atop, Awidth, Aheight:integer;Atext:string);
begin
MyDocument:=ExcelDoc.worksheets[1];
MyDocument.Shapes.AddTextbox(1, Aleft-5,Atop-Aheight/2-3,Awidth, Aheight-5).Select;
ExcelSelection:=ExcelApp.selection;
ExcelSelection.Characters.Text := Atext;
ExcelSelection.Characters.Font.size:=8;
ExcelSelection.AutoSize:=true;
ExcelSelection.ShapeRange.Line.Transparency := 0;
ExcelSelection.ShapeRange.Line.Visible := False;

MyDocument.Shapes.AddShape(7, Aleft,Atop, Awidth, Aheight).Select;
ExcelSelection:=ExcelApp.selection;
ExcelSelection.ShapeRange.IncrementRotation(180);
end;

给你段代码参考一下!
 
多谢两位回答
不过请看清楚题意:
前提:如果用户已经选择了范围
我的目的: 获得该范围,而不是我自己去选择范围。
 
VBA:
Application.Selection.AddressLocal(RowAbsolute:=False, ColumnAbsolute:=False)
Delphi:
var
Addr: WideString;
begin
Addr := XlsApp.Selection.AddressLocal;
end;
返回绝对引用。
 
thanks to vvyang,
我试了一下,可以。当然这个对我意义不大,关键是我的代答问题!
to vvyang : 如果能看看我的代答问题吗?
明天散分,
to vvyang: 能否把excel的一些技巧发给我一份:tj654321@126.com
谢谢!
 
不太明白您的意思,您的待答问题一共有7个,都跟这个问题没什么关系,要我回答哪一个。
另外这个问题的答案有什么不妥么?
 
to vvyang: http://www.delphibbs.com/delphibbs/dispq.asp?lid=3250639
下午散分
 
我看看去
 
真晕,我那段代码都能自动选择难道还不能得到选择的内容吗?你有没有看清楚我的代码啊?
 
Var T:Variant;
T:=olecon.oleobject.application.activecell;//可获取当前單元格;
 
To qingwen07、terran0775:
他要的是行标和列标,压根跟选择的内容没关系。
To 楼主:
那个 AutoCAD 不要急,先去给你看看。
 
To qingwen07、terran0775:这个范围是用户选择的,我获得了x,y当然可以获得内 容,cells[x,y]不就可以了。当然我这个问题只是抛砖引玉,希望能解决我的待答问题中的
Autocad问题。
...............
对不起各位,现在散分
多谢各位捧场! 散分如有不均,请谅解
 
后退
顶部