gpt4 book ai didi

excel - 设置范围变量太长

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

我有下面的代码可以工作,但在其当前格式下它给出了运行时错误'1004。我确定这是因为我设置的范围太长了。如果我缩短它,它会起作用。如何使它起作用?
我见过类似的问题,但没有一个能回答我的特定要求。

我想在 L 列上运行它,然后每隔 7 列运行一次。

Dim A As Range, B As Range, Inte As Range, r As Range
Set A = Range("L:L,S:S,Z:Z,AG:AG,AN:AN,AU:AU,BB:BB,BI:BI,BP:BP,BW:BW,CD:CD,CK:CK,CR:CR,CY:CY,DF:DF,DM:DM,DT:DT,EA:EA,EH:EH,EO:EO,EV:EV,FC:FC,FJ:FJ,FQ:FQ,FX:FX,GE:GE,GL:GL,GS:GS,GZ:GZ,HG:HG,HN:HN,HU:HU,IB:IB,II:II,IP:IP,IW:IW,JD:JD,JK:JK,JR:JR,JY:JY,KF:KF,KM:KM,KT:KT,LA:LA,LH:LH,IP:IP,IW:IW,JD:JD,JK:JK,JR:JR,JY:JY,KF:KF,KM:KM,KT:KT,LA:LA,LH:LH")
Set Inte = Intersect(A, Target)
If Inte Is Nothing Then Exit Sub
Application.EnableEvents = False
For Each r In Inte
If r.Offset(0, -1).Value = "" Then
r.Offset(0, -1).Value = Now()
End If
Next r
Application.EnableEvents = True

第一次提出问题,但这个网站对我帮助很大。
任何帮助表示赞赏

最佳答案

使用 Union 将设置 A 拆分为多个操作。

Set A = Range("L:L,S:S,Z:Z,AG:AG,AN:AN,AU:AU,BB:BB,BI:BI,BP:BP,BW:BW")
Set A = Union(A, Range("CD:CD,CK:CK,CR:CR,CY:CY,DF:DF,DM:DM,DT:DT,EA:EA,EH:EH,EO:EO,EV:EV"))
Set A = Union(A, Range("FC:FC,FJ:FJ,FQ:FQ,FX:FX,GE:GE,GL:GL,GS:GS,GZ:GZ,HG:HG,HN:HN,HU:HU,IB:IB,II:II"))
Set A = Union(A, Range("IP:IP,IW:IW,JD:JD,JK:JK,JR:JR,JY:JY,KF:KF,KM:KM,KT:KT,LA:LA,LH:LH,IP:IP,IW:IW"))
Set A = Union(A, Range("JD:JD,JK:JK,JR:JR,JY:JY,KF:KF,KM:KM,KT:KT,LA:LA,LH:LH"))

如果交错一致,可能更容易找到 Target 的列。
for each r in target
if r.column > 11 and (r.column mod 7) = 5 then
If r.Offset(0, -1).Value = "" Then
r.Offset(0, -1).Value = Now()
End If
end if
next r

关于excel - 设置范围变量太长,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49102925/

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