【发布时间】:2019-02-18 14:50:15
【问题描述】:
我正在尝试将每日报告合并到一个主文档中。之前,我使用 Excel 函数来执行此操作。但是文件大小变得巨大。所以毕竟我想,我可以使用 VBA 来消除工作表上的大量函数,并减少文件大小和计算时间。
基本上,我在 Sheet1(主文档)上有主行号作为数据库。从 Sheet2 我需要每天为 Sheet1 上列出的行号完成工作量。
例如,在 Sheet1 中,单元格“M3”表示第一行号 (Line-01)。在单元格“X3”中,将有来自 Sheet2 范围“O:O”的工作量(10 个关节)。 这将根据每日表现在随机时间重复。所以我会有从“O3”到“O1000”范围内的数据(甚至更多)。
Sub DailyProgress()
Dim i As Long
Sheets(1).Activate
Range("X3:X" & Range("M" & Rows.Count).End(xlUp).row).Formula = _
"=IFERROR(vlookup(M3,Sheet2!D:O,12,0),Text(,))"
i = 3
'Because my first cell is on row 3
Do Until IsEmpty(Cells(i, 12))
Cells(i, 24).Copy
Cells(i, 24).PasteSpecial xlPasteValues
i = i + 1
Loop
End Sub
我编写了代码来进行 vlookup、复制和粘贴作为值。但是这个块不够光滑。顺便说一句,我需要将数据从 Sheet2 复制到单元格“Y3”和“Z3”。所以下次会花更多的时间。
【问题讨论】:
-
有趣的公式..请问
TEXT(,)的目的是什么? -
其实我以前在网上看到过这个。我用它代替引号使公式更清晰。喜欢
=IF(A1=TEXT(,),TEXT(,),(B1*2))