gpt4 book ai didi

Excel 2007 VBA 选择单元格范围

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

我正在尝试选择一系列单元格。我以前做过,但语法有问题。

Sub ChgDateX()

Range("A41").Select

Do
If ActiveCell.Value = "Last Updated" Then
mydate = ActiveCell.Offset(-40, 0).Value

'Cells(ActiveCell.Offset(0, 1), ActiveCell.Offset(0, 9)).Select
ActiveCell.Offset(0, 1).Value = mydate
ActiveCell.Offset(0, 2).Value = mydate
ActiveCell.Offset(0, 3).Value = mydate
ActiveCell.Offset(0, 4).Value = mydate
ActiveCell.Offset(0, 5).Value = mydate
ActiveCell.Offset(0, 6).Value = mydate
ActiveCell.Offset(0, 7).Value = mydate
ActiveCell.Offset(0, 8).Value = mydate
ActiveCell.Offset(0, 9).Value = mydate

ActiveCell.EntireRow.Select
Selection.NumberFormat = "m/d/yyyy"
ActiveCell.Offset(1, 0).Select
Else: ActiveCell.Offset(1, 0).Select
End If
Loop Until ActiveCell.Value = "" & ActiveCell.Offset(-3, 0).Value = ""

End Sub

我试图摆脱单独的 offset = mydate 类型编码。

最佳答案

几件事:

这段代码:

Loop Until ActiveCell.Value = "" & ActiveCell.Offset(-3, 0).Value = ""

无法按预期工作,因为您要查找的正确运算符是 And而不是 &
你不必“选择”任何东西。您可以在变量中放置对单元格的引用(请参阅我的代码)。

此外,由于您总是向下移动到循环中的下一个单元格,您可以将其放在 IF 之外。陈述。

根据您的代码,我认为您正在寻找这样的东西:
Option Explicit

Sub test()
Dim r As Range
Dim myDate As Date

Set r = Range("A41")

Do
If (r.Value = "Last Updated") Then
myDate = r.Offset(-40, 0).Value

With Range(r.Offset(0, 1), r.Offset(0, 9))
.Value = myDate
.NumberFormat = "m/d/yyyy"
End With
End If

Set r = r.Offset(1, 0)
Loop Until r.Value = vbNullString And r.Offset(-3, 0).Value = ""

End Sub

关于Excel 2007 VBA 选择单元格范围,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13921121/

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