首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将当前日期粘贴到单元格中指定的预定义范围中。

将当前日期粘贴到单元格中指定的预定义范围中。
EN

Stack Overflow用户
提问于 2015-06-10 22:06:49
回答 1查看 84关注 0票数 0

我有以下公式,="AI2:AI"&MATCH(REPT("z",255),ILS_IMPORT!A:A),它引出了一个预定义的列AI2:AI3576。从本质上讲,这个公式为我提供了数据驻留在A列中的最后一个行号。然而,可能有一种情况,即A列中的数据集末尾有空白,而B列中的数据则下降到B4000。整个前提是从A列获得最后一行数据到AI,这样在将数据集导入access数据库之前,我可以将当前日期放在范围AI2:AI3576AI2:AI4000中。

两个问题(Microsoft 2010):

( 1)是否有人有更简单的公式来捕捉上述范围?

2)一旦建立了范围,使用VBA将当前日期简单粘贴到该预定义的范围中是可取的。我认为这很简单,因为我们有范围,现在有日期()。

作为一个警告,我有这个VBA代码,它将告诉用户最后一个单元格的行号,但是他们仍然需要执行复制和粘贴函数。我不希望用户执行这些步骤。

代码语言:javascript
复制
Sub LastRowofData()
Dim ws As Worksheet
Dim rng1 As Range
Set ws = Sheets("ILS_IMPORT")
Set rng1 = ws.Columns("A:AI").Find("*", ws.[a1], xlValues, , xlByRows, xlPrevious)
If Not rng1 Is Nothing Then
    MsgBox "The last cell with data is " & rng1.Address(0) & " , therefore copy the current date in AG2 down to the row indicated."
Else
    MsgBox ws.Name & " columns A:AI are empty", vbCritical
End If
End Sub

我们非常感谢你的想法和创造力。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-06-10 23:16:18

通过连续地重新定义您所指的使用带语句的With...End的区域,您可以在不指定范围的情况下完成这一任务。

代码语言:javascript
复制
Dim ws As Worksheet

Set ws = Sheets("ILS_IMPORT")

With ws
    With Intersect(.Cells(1, 1).CurrentRegion, .Columns("A:AI"))
        If CBool(Application.CountA(.Offset(1, 0))) Then
            With .Offset(1, 34).Resize(.Rows.Count - 1, 1)
                .Cells = Date
            End With
        Else
            MsgBox .Parent.Name & " columns A:AI are empty", vbCritical
        End If
    End With
End With

数据的主要边界首先使用Range.CurrentRegion性质确定,然后逐步的Range.ResizeRange.Offset命令形成接收当前日期的范围。

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

https://stackoverflow.com/questions/30768145

复制
相关文章

相似问题

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