2017-05-25 25 views
0

我需要创建基于从同一工作簿内的多个片材的基质模板的列表中提取数据创建基于特定细胞Excel列表。 我有一个网格,看起来像下面:通过从多个薄片

A1专家

A2中级

A3基金会

B4 1级

C4级2

D4 3级

因此,如果“完成”这个词是在例如电池B3,那么此人已完成地基1级。

这将是为每个人建立新的工作表相同的模板。前面的工作表需要有一个选项来搜索谁已完成什么等级。举例来说,“布鲁斯·韦恩”工作表名称有“完成”,在他的网格单元C2字(所以他已经完成了2级中间“),当我在前面的工作表上搜索2个中间找出谁拥有这个,布鲁斯韦恩将出现在列表中(以及任何其他人在他们的工作表上显示“已完成”的等级)

我知道如何制作宏按钮,我知道如何制作数据验证列表, 和I发现了一个宏循环遍历所有工作表(https://support.microsoft.com/en-hk/help/142126/macro-to-loop-through-all-worksheets-in-a-workbook

我不知道的是如何让它返回表单名称(bruce wayne)在名称的首页上形成一个列表,而不仅仅是价值(已完成/正在进行中)以及最简单的报告方式是什么:

1.创建用于每个级/水平选项的按钮填充片名称的列表(将总在该实施例9层的按钮)

  • 创建2滴下拉列表框,其中一个带有成绩,另一个带有水平,然后说出是否从下拉列表中选择了1年级和基础,然后填充旁边另一列中的图表名称。

  • 的标签名称是从工作正常了“重命名表”宏创建: https://www.extendoffice.com/documents/excel/2905-excel-rename-sheet-based-on-cell-value.html

    所以它并不一定要汇报工作表名称,它可能只是回报一个独立的单元,其决定表格名称,如果更容易。

  • 打字后我比以前更困惑!任何人都可以理解这个/帮助我?

    Sub LoopThroughSheets() 
    
    If worksheets ("OVERVIEW") GOTO C5="Grade 1" And E5="Foundation" Then 
    
    ' I want this bit to say if the overview worksheet cell C5 contains grade 1 and cell e5 contains foundation then 
    

    '

    =IF E13="completed", THEN ActiveSheet.Name = Range("I5:I11").Copy) 
    ' I want this bit to then say if the word completed is present in cell E13 on any of the subsequent sheets it should copy the sheet name to the overview sheet in cells I5 to I11' 
    
    
        Dim ws As Worksheet 
        For Each ws In ActiveWorkbook.Worksheets 
    
    
        Next ws 
    End Sub 
    

    回答

    0

    worksheet对象具有在VBA一个Name属性,该属性可以被访问。 Check out the documentation.

    如果您需要更具体的帮助,请邮编。

    +0

    对不起,如果这是完全错误的,我是VBA的新手(仅在我的工作的最后2周使用它,通常我只是记录一个宏并分配一个按钮!) – Katie

    +0

    Sub LoopThroughSheets() 如果工作表(“概览”)GOTO C5 =“1级”和E5 =“基金会”然后 “我想这一点说,如果概述工作表单元格C5包含1级和单元格E5包含基础则 ” = IF E13 =“completed”,那么ActiveSheet.Name = Range(“I5:I11”)。复制) '我想要这个位然后说出单词E13中是否存在单元格E13中的任何后续页它应该将表格名称复制到概览sh EET在细胞I5到I11' 昏暗WS作为工作表 对于每个WS在ActiveWorkbook.Worksheets 接着WS 结束子 – Katie