基于另一个工作簿中的单元格值运行过程

时间:2016-08-22 16:19:12

标签: vba excel-vba macros excel

我有六种不同的形式,所有形式都包含相同的信息,但在不同的地方。这些表单由其他方发送给我,一旦我收到它们,我打开文件,确定我正在处理哪个表单,然后运行相应的转置宏将信息上传到我的摘要工作簿。

我希望能够检查单元格B4,B8,B10,B15和B20以确定我正在处理的形式,然后自己运行相应的转置宏。

有人可以帮我设置一下吗?

现在我有以下内容:

' I use the file path to identify the form that I want to copy information from
Dim FilePath As String
Dim InputTemplate As Workbook
Dim UploadForm As Workbook
Dim Analysis As Worksheet
Dim supplierdata As Worksheet
Dim TemplateType

Set UploadForm = ActiveWorkbook
FilePath = UploadForm.Sheets("Summary").Range("D4").Value
Set InputTemplate = Workbooks.Open(FilePath)
Set Analysis = UploadForm.Sheets("Analysis")
Set supplierdata = InputTemplate.Sheets("Supplier Input Template")

如果B4.value =公司名称,B8.value = Date,B10.value = Currency ...我怎么说呢?然后运行正确的换位宏?

1 个答案:

答案 0 :(得分:0)

你能做的最精简的可能是:

'....
Set supplierdata = InputTemplate.Sheets("Supplier Input Template")

With supplierdata.Columns(2) 
    If .Cells(4).value = "Company Name" And .Cells(8).Value="Date" _
       And .Cells(10).Value = "Currency" Then

        'handle this type of form 

    End If


End With

如果您要执行许多类型的检查,那么您可以考虑使用“元数据驱动”方法,在工作表中列出范围和相应的内容,并循环该信息以检测类型报告。一旦你完成设置,这将更多地预先编码,但更容易进行持续维护。