繁体   English   中英

VBA 代码 Excel 从选项卡中提取特定单元格值到不同 Excel 文件上的表中

[英]VBA code Excel extract specific cell value from a tab into a table on a different Excel file

似乎这是今年的挑战,因为每个人都在努力完成这项工作。

基本上,我试图获取一个代码来将单元格 B1、B2、B3、A6、B6、C6 和 D6 上的值提取到新的电子表格中。 此提取来自大约 20 个包含完全相同单元格中的数据的不同选项卡,因此我的 VBA 代码需要从 20 个不同选项卡中提取上述单元格上的值并将其全部添加到一个新的电子表格中?

这可能吗? 我附上了一张图片,解释了所需的结果。

非常感谢!!

在此处输入图像描述

下面的代码:

Sub TEST()
        Dim value1 As String
        value1 = ThisWorkbook.Sheets(1).Range("B1").Value 'value from sheet1
        value2 = ThisWorkbook.Sheets(1).Range("B2").Value 'value from sheet1
        value3 = ThisWorkbook.Sheets(1).Range("B3").Value 'value from sheet1
        value4 = ThisWorkbook.Sheets(1).Range("A6").Value 'value from sheet1
        value5 = ThisWorkbook.Sheets(1).Range("B6").Value 'value from sheet1
        value6 = ThisWorkbook.Sheets(1).Range("C6").Value 'value from sheet1
        value7 = ThisWorkbook.Sheets(1).Range("D6").Value 'value from sheet1
Then ThisWorkbook.Sheets(2).Range("L1").
End Sub

在同一个工作簿中创建一个工作表,其中包含名为“组合”的所有 20 个其他选项卡。 设置第 1 行的标题以匹配您的图片....日期、价格、数量、成本、颜色...等。 那么这段代码应该可以得到你想要的。 将其放入标准代码模块中。

Option Explicit

Sub AggregateData()

Dim ws As Worksheet
Dim comb As Worksheet
Dim lastrow As Long

Set comb = ThisWorkbook.Worksheets("Combined")

For Each ws In ThisWorkbook.Worksheets

    If ws.Name = "Combined" Then
    'skips the combined worksheet.
    Else
        lastrow = comb.Cells(Rows.Count, "a").End(xlUp).Row + 1
        
        comb.Range("a" & lastrow & ":d" & lastrow).Value = ws.Range("a6:d6").Value
        comb.Range("e" & lastrow & ":g" & lastrow).Value = Application.Transpose(ws.Range("b1:b3").Value)
    End If
Next ws

End Sub

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM