-1

我想创建一个宏来确认在 f、I、k、m 和 o 列中有以下格式的数据日期、时间或 NA,然后复制我在第 16 行、s、t、u 列中的公式,v,x 和 y,对于在 f、I、k、m 和 o 列中有数据的每一行。手动复制和粘贴所有行非常耗时。

总之,有数据的地方,复制我的公式。摘要部分和空行将被忽略。我一直在玩复制和粘贴功能,但无法确认/验证 f、I、k、m 和 o 列中的数据。

  • 我已将数据库中的数据下载到 Excel 表中。
  • 数据出现在 f、I、k、m 和 o 列中。单元格可以包含日期、时间和 NA。
  • 每行数据由一个空行分隔。
  • 在每个分组结束时,比如说 25 到 50,信息被汇总,从而为汇总信息创建额外的行,然后重复。

查看数据样本

3/25/13  5:33 PM    5:55:59 PM   5:57:49 PM     NA  NA  
3/25/13  6:12 PM    6:19:57 PM   6:23:16 PM     NA  NA  
3/25/13  5:15 PM    5:33:51 PM   5:46:39 PM     NA  NA  
3/25/13  5:19 PM    5:50:44 PM   6:08:51 PM     NA  NA   

摘要部分

    Avg Prep Time (in min): 21.63
    Avg Print to Delivery Time (in min):
            Avg Time Out (in min):  0.00
        # of Trays: 16
    Avg Prep Time (in min): 21.63

我在 s、t、u、v、x 和 y 列中的公式

6:15 AM 6:33 AM 0:18    6:43 AM     0:28    29

提前致谢

4

1 回答 1

0

尝试使用这些代码

Sub GetFormat()
Range("A1").Value = Range("F1").NumberFormat
End Sub

使用它来找出 VBA 所称的单元格格式。我认为日期称为“m/d/yyyy”,时间称为“[$-F400]h:mm:ss AM/PM” 在找出您的格式名称后,我建议将它们复制并粘贴到以下代码中(手动输入它们对我不起作用)。对于这个例子,我已经输入了“m/d/yyyy”

Sub verify()
If Range("F1").NumberFormat = "m/d/yyyy" Then
Range("F16").Copy Destination:=Range("A1")
End If
End Sub

祝你好运!

于 2013-04-07T19:49:32.193 回答