【问题标题】:Excel 2007 data collectionExcel 2007 数据收集
【发布时间】:2009-08-24 22:20:17
【问题描述】:

我有一个 Excel 2007 工作簿,其中包含大约 150 多个工作表,我想从所有工作表中的同一单元格中选择数据,并仅从包含数据的那些单元格中复制数据(全是文本);将数据列在一个单独的工作表中。

【问题讨论】:

  • 您想通过 Excel 以某种方式执行此操作(我相信这不可能),还是在 SSIS 或 C# 中编写一个程序来解析 Excel 文件并提取单元格?基本上,您的问题是什么,您希望如何解决?

标签: excel-2007


【解决方案1】:

您可以使用以下 VBA:

Dim WriteCell as Range
Set WriteCell = Sheets("New Sheet").Range("A2")

Dim MySheet as Worksheet
For Each MySheet In ThisWorkbook.Worksheets
    If MySheet.Range("B2").Value <> "" Then
        WriteCell.Value = MySheet.Range("B2").Value
        WriteCell.Offset(0, -1).Value = MySheet.Name
        Set WriteCell = WriteCell.Offset(1,0)
    End If
Next

如果它是该工作簿中的同一个工作表。如果您希望它是其他工作簿,请将 For Each 行替换为:

Workbooks.Open File:= "C:\MyBook.xlsx"
For Each MySheet in ActiveWorkbook.Worksheets

这将遍历所有工作表,测试该值,并生成一个工作表,其中工作表名称和单元格值作为列。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-12-12
    • 1970-01-01
    相关资源
    最近更新 更多