我有一个VBA脚本,首先查看'YTDInfo'!$J$2
的名称。然后,它从工作簿的开头搜索与'YTDInfo'!$J$2
中的条目匹配的工作表名称。如果找到了该名称,那么它会查看该表单"已支付的金额"单元格并将该值带到'YTDInfo'!$M$2
。
脚本移动到下一个匹配的工作表上,依此类推,超过100张,将所有付款添加到该人。它将总和值放在单元格'YTDInfo'!$M$2
中。
我有一个只有100多个名字的列表,我想自动化这个过程的一个组件。
我已经拥有:
'YTDInfo'!A2
〜'YTDInfo'!A100
+填充了所有工作表名称。
'YTDInfo'!B2
使用Marlett字体而我正在使用" a" (用于复选标记)。
当'YTDInfo'!B2
=" a" (或B3或B4 ... =" a")'YTDInfo'!$J$2
填充列表中的下一个名称(名称分别来自A3,A4或A5)。
$J$2
有一个数组CSE公式。当'YTDInfo'!$J$2
填充名称时,我运行脚本并构建总计并将其放入'YTDInfo'!$M$2
。
我喜欢这本手册,因为我可以跟踪哪个名字有YTD信息,我可以在工作表中跟踪任何重复或拼写错误。
这是我现在要自动化的另一个手动部分......
当'YTDInfo'!$M$2
填充时,我需要将值放入'YTDInfo'!Fn
(行号n)单元格中,但是在与名称来源对应的特定行中。
例如......
这一切都是在YTDInfo表上完成的,所以我不会用这条信息弄乱文本。 ...... $J$2
和$M$2
是静态单元格,是脚本读取和填充的唯一单元格。
如果手动选中B11
(B11
=" a"),A12
的名称将传递到J2
。这个名字可以是约翰。当我运行脚本时,所有具有John及其支付金额('john 10-17-2017'!AB17
+ 'john 10-21-2017'!AB17
+等等)的工作表名称将添加并显示在M2
中。
让我们说这一切等于...... 12,000美元。然后我如何告诉Excel M2
($ 12,000)的值现在可以复制到John的YTD单元格(到F12
),而无需手动复制和特殊粘贴值?
非常感谢您的帮助。我知道简单的Excel东西,但我无法弄清楚这些东西。我非常愿意使用公式或VBA - 没有任何恐惧,哎呀!我很乐意为你的时间捐一点钱,并能够向你学习一些东西。
Sub YTDTotal_Click() '
Keyboard Shortcut: Ctrl+h
Dim mysheet As Worksheet '
Sheets("YTDInfo").Select '
Cells.Clear
For Each mysheet In Worksheets
mysheet.Select
If Left(mysheet.Name, Range("YTDInfo!K2")) = Range("YTDInfo!J2") Then
ActiveSheet.Range("H22").Select Selection.Copy
Sheets("YTDInfo").Select
Range("M2").Select Selection.PasteSpecial Paste:=xlPasteAll, Operation:=xlAdd, SkipBlanks:= _ False, Transpose:=False
End If
Next mysheet
Sheets("YTDInfo").Select '
ActiveSheet.Range("H22").Select
End Sub