首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >在Excel VB中获取当前单元格

在Excel VB中获取当前单元格
EN

Stack Overflow用户
提问于 2010-02-05 02:18:39
回答 4查看 318.2K关注 0票数 25

我在Excel/VB中有一个小脚本,我正在尝试使用它。我想要做的就是选择一个动态范围的数据进行复制,但是我似乎找不到任何关于如何获取网格数据的帮助/代码(比如A11)。

下面是我从宏录制中获得的选择数据范围的代码:

代码语言:javascript
复制
Range("D291:D380").Select

我希望我可以只做Range(Current).Select或其他什么,但那不起作用。

任何帮助都是非常感谢的。

EN

回答 4

Stack Overflow用户

发布于 2010-02-05 02:21:06

您是否尝试过:

对于一个单元格:

代码语言:javascript
复制
ActiveCell.Select

对于多个选定的单元格:

代码语言:javascript
复制
Selection.Range

例如:

代码语言:javascript
复制
Dim rng As Range
Set rng = Range(Selection.Address)
票数 34
EN

Stack Overflow用户

发布于 2010-02-05 06:27:26

如果你想用一个动态生成的字符串来获取一个范围,那么你只需要像这样构建这个字符串:

代码语言:javascript
复制
Range(firstcol & firstrow & ":" & secondcol & secondrow).Select
票数 2
EN

Stack Overflow用户

发布于 2010-02-05 20:44:17

这可能无助于直接回答你的问题,但在尝试使用动态范围时,我发现它很有用,可能会对你有所帮助。

假设在您的工作表中,单元格A1:C3中有数字100到108:

代码语言:javascript
复制
          A    B    C  
1        100  101  102
2        103  104  105
3        106  107  108

然后,要选择所有单元格,可以使用CurrentRegion属性:

代码语言:javascript
复制
Sub SelectRange()
Dim dynamicRange As Range

Set dynamicRange = Range("A1").CurrentRegion

End Sub

这样做的好处是,如果您向数字块添加新的行或列(例如109、110、111),则CurrentRegion将始终引用扩大的范围(在本例中为A1:C4)。

我在我的VBA代码中使用了相当多的CurrentRegion,并且发现它在处理动态大小的范围时非常有用。此外,它还避免了在代码中硬编码范围。

最后,在我的代码中,您将看到我使用A1作为CurrentRegion的引用单元格。无论引用哪个单元格,它都可以正常工作(例如,尝试:用B2替换A1 )。原因是CurrentRegion将根据参考单元格选择所有连续的单元格。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2202093

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档