gpt4 book ai didi

excel - 从列引用中添加/减去长变量

转载 作者:行者123 更新时间:2023-12-04 21:48:37 25 4
gpt4 key购买 nike

我之前在这里看到了一篇帖子,它让我想起了我偶尔遇到的一个(非常基本的)问题。我不知道一个好的标题会是什么,我很确定我的不是。

无论如何,假设我得到一个整数列(假设它是 4),将它保存在一个变量中,然后想在 E1 左右各 4 列的列中写入“Test”(意思是 A1和 I1)。我可以用两行代码来完成,或者使用 OffsetCells .但是我怎样才能在一行中做到这一点?

Sub Test()

Dim ws As Worksheet
Dim colnumber As Long

Set ws = ThisWorkbook.Sheets(1)
colnumber = 4

ws.Range("E1").Offset(0, colnumber).Value = "Test"
ws.Range("E1").Offset(0, -colnumber).Value = "Test" 'works


ws.Cells(2, 5 + colnumber).Value = "Test2"
ws.Cells(2, 5 - colnumber).Value = "Test2" 'works

ws.Range("A3,I3").Value = "Test3" 'works

ws.Range(ws.Cells(4, 5 - colnumber), ws.Cells(4, 5 + colnumber)).Value = "Test4" 'fills up Range("A4:I4")
End Sub

'ws.Range("A3,I3").Value' 只是为了让我表明可以在一行代码中在两个不连续的单元格中编写相同的内容。我挣扎的是在使用 Cells 时这样做或类似的东西(我认为我必须这样做,因为我想添加/减去变量 colnumber )并且在最后一行代码中它当然会填满 A4 的整个范围至 I4 ,这不是我想要的,我只想填充这两个单格。

最佳答案

使用 Union,Range 使用两个单元格作为开始和结束:

Union(ws.Cells(2, 5 + colnumber),ws.Cells(2, 5 - colnumber)).Value = "Test4"

如果要使用 Range,请创建与 , 连接的地址字符串。 :
ws.Range(ws.Cells(4, 5 - colnumber).Address(0,0) & "," & ws.Cells(4, 5 + colnumber).Address(0,0)).Value = "Test4"

但这是很多打字。

关于excel - 从列引用中添加/减去长变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59200930/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com