excel - 从重复表中提取特定数据
问题描述
显示来自软件的 2 个样本点的测试导出我有来自 100 多个样本点的数据导出到 excel。我想将这些信息中的特定信息提取到汇总表中。每个样本点都导出为离散表,并且这些表每 11 行重复一次。即,如果 b4 包含来自样本 1 的分析物 (A) 值,则 b15 包含样本 2 的 (A) 值,
我希望能够提取所有 A 值以及其他值。在第 3-7 行 BD 中总共发现 6 种分析物,然后向下重复 11 个单元格以创建一个表格(将 11 个单元格中的数据复制到新表格的第二行,依此类推)这是来自先前报告的示例我手动提取所有数据并创建了一个表
我已经成功创建了一个宏来将这些数据从第一个样本中提取到第二张表中,我相信我需要重复下一个函数,但我无法弄清楚如何
Private Sub CommandButton1_Click()
Sheets("Sheet1").Range("D3").Copy Destination:=Sheets("Sheet2").Range("B2")
Sheets("Sheet1").Range("B4").Copy Destination:=Sheets("Sheet2").Range("C2")
Sheets("Sheet1").Range("B5").Copy Destination:=Sheets("Sheet2").Range("D2")
Sheets("Sheet1").Range("B6").Copy Destination:=Sheets("Sheet2").Range("E2")
Sheets("Sheet1").Range("B7").Copy Destination:=Sheets("Sheet2").Range("F2")
End Sub
这是我目前拥有的宏
解决方案
根据要求,以下应该做你需要的:
Private Sub CommandButton1_Click()
Dim sourcesheet As Worksheet
Dim destsheet As Worksheet
Dim repeat_x_times As Long, loopcounter As Long
Dim onelocation As Long, spread As Long
Dim locations As Variant
Dim locationlist As String
'---------------------------------------
' edit these as you see fit
'---------------------------------------
Set sourcesheet = Sheets("Sheet1")
Set destsheet = Sheets("Sheet2")
locationlist = "D3,B4,B5,B6,B7"
spread = 11
repeat_x_times = 6
'---------------------------------------
locations = Split(locationlist, ",")
With sourcesheet
For loopcounter = 1 To repeat_x_times
For onelocation = 0 To UBound(locations)
.Range(locations(onelocation)).offset((loopcounter - 1) * spread, 0).Copy destsheet.Cells(loopcounter, 2 + onelocation)
'or if you don't need formatting, just values (much quicker):
'destsheet.Cells(loopcounter, 2 + onelocation).Value = .Range(locations(onelocation)).offset((loopcounter - 1) * spread, 0).Value
Next
Next
End With
End Sub
我已经根据您的需要轻松地进行了配置,只需编辑变量:
locationlist
是您要拾取的单元格列表,按照您希望它们在 sheet2 上输出的顺序。
spread
是重复之间的偏移量。
repeat_x_times
是你想要输出的行数。
我使用了与您现有代码类似的复制语句,但如果您不想复制格式等,您可以使用值开关。我已经注释掉了代码,但是如果您想使用它,请取消注释并注释掉该copy
行。
推荐阅读
- ios - 如何将字符串转换为日期?
- unit-testing - 开玩笑地从模拟文件中窥探模拟函数
- google-bigquery - 对 BQ 中的重复字段进行分组
- javascript - 活动类适用于错误但不适用于消息和警告
- jquery - 使用 jquery 变量和相同值的多个值的自动完成文本框不应在同一个文本框中重复
- python - 警告重新定义的外部名称意外静音
- ios - 如何修改拖放预览SwiftUI的背景颜色和形状?
- excel - 使用 VBA 打开文件夹中的文件
- unity3d - Unity3D - 如何检测我的汽车物体和地形之间的碰撞?
- woocommerce - 我在使用 woocommerce 的 paypal 插件时遇到问题。我收到一条错误消息,上面写着“语义不正确,业务验证失败