根据第三个单元格的值

时间:2017-11-21 16:57:13

标签: excel vba excel-vba excel-formula

我有一个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是静态单元格,是脚本读取和填充的唯一单元格。

如果手动选中B11B11 =" 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

0 个答案:

没有答案