首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >VBA:如何在OFFSET函数中确定单元格位置

VBA:如何在OFFSET函数中确定单元格位置
EN

Stack Overflow用户
提问于 2017-03-12 19:14:29
回答 1查看 560关注 0票数 1

我想知道这是怎么编码的:

代码语言:javascript
运行
复制
OFFSET($F$52, 0, ($D342 - $D$342),1,1)

由于单元格位置不同,为了表示单元格D342,我将使用例如单元格(300+ i,5+ j)。

我想知道如何使用VBA代码修复单元格: i)修复行ii)修复列iii)修复行和列

谢谢:)

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-03-13 23:47:05

当你有一个区域并且你想在公式中插入它的地址时,你可以使用它的.Address。此属性非常灵活,允许您控制许多内容,包括最重要的是,您希望对象是绝对的(固定的)还是相对的(复制时是可移动的)。

为了解决您的问题,您可以使用.Address method的参数RowAbsoluteColumnAbsolute。例如,Cells(300 + i, 5 + j).Address(RowAbsolute=False)。请记住,这些参数的默认值为True

下面的代码片段将告诉你如何做到这一点,其中包括解释。

代码语言:javascript
运行
复制
Sub TestUsingAddress()
   Dim r As Range
   Set r = Sheet1.Cells(3, 4) ' (D3)

   ' You can control the parameters RowAbsolute and ColumnAbsolute
   Debug.Print r.address                        ' $D$3 (default)
   Debug.Print r.address(ColumnAbsolute:=False) ' D$3
   Debug.Print r.address(RowAbsolute:=False)    ' $D3
   Debug.Print r.address(RowAbsolute:=False, ColumnAbsolute:=False) ' D3

   'and you can get the sheet's name with the address using the External parameter
   Debug.Print r.address(external:=True) ' [SOTest.xlsm]Sheet1!$D$3

   ' You can also get R1C1 format using the ReferenceStyle Parameter
   Debug.Print r.address(ReferenceStyle:=xlR1C1) ' R3C4. default format is xlA1
End Sub
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42746696

复制
相关文章

相似问题

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