选择 Excel 列中的所有数据,无论其大小

选择 Excel 列中的所有数据,无论其大小

对于收集的测试数据,我必须在 Excel 中执行一个重复的过程。我必须对收集的每个数据点执行此过程。每次测试我都会收集 200 多个数据点。

我的数据自动填充到 A 列和 B 列中。我需要能够选择 A 列中的所有真实数据,将其乘以一个常数并放在单独的列中。问题是 A 列中每个数据点的单元格数量各不相同。例如,一组测试数据有 800 行,下一组有 3200 行。它始终是独立的,我需要能够选择整行,而不管行数是多少。

我需要能够将其制作成宏,这样我就可以一次完成所有其他必要的数据操作。问题在于我创建宏时...我使用快捷方式选择所有数据,而宏将此步骤视为选择指定单元格。因此,当我为 3200 个单元格长度的数据点录制宏,然后尝试在 800 个单元格的数据点上运行它时,它会选择 3200 个单元格。我需要它只选择真实数据。

答案1

听起来你正在尝试根据字段汇总可变数量的列。尝试小计功能,看看是否适合您。(见示例)

如果没有,你可以使用查找和参考函数获取字段 A 从 1 变为 2 的引用,然后尝试使用引用作为输入生成带有数组的 sum()。抱歉,我不能更详细,但我以前从未尝试过。

   A    B
  --------
+ 1    1.5
| 1    1.6
| 1    1.7
| 1    1.8
+ 1    1.9
1 Total  7
+ 2    1.5
| 2    1.6
| 2    1.7
| 2    1.8
+ 2    1.9
2 Total 7

答案2

这是一个宏观解决方案。

我假设您的数据在 A 列,标题在单元格 A1 中,而列标题在 B 列的单元格 B1 中。将这两个代码块粘贴到模块中,看看它是否适合您。要运行的宏是 MultiplyAllData()。

第一个块是获取 A 列最后一行的函数

Function MyLastRow() As Long
    'This will give the last row in column A
    Dim theLastRow As Long

    Range("A1").Select
    Selection.End(xlDown).Select
    theLastRow = Selection.Row

     MyLastRow = theLastRow
End Function

下一个块是要运行的宏。它将 A 列中的每个值乘以一个常数(您可以编辑),并将结果放在 B 列中:

Sub MultiplyAllData()

     Dim ourLastRow As Long
     Dim myConstant As Double

     myConstant = 3.14           'you can edit your constant here

     ourLastRow = MyLastRow      'this is a call to our function

Range("B2").Select
'   NOTE:  below is the code I got when I first recorded my macro.      
'          I had test data down to cell A40.
'    ActiveCell.FormulaR1C1 = "=RC[-1]*3.14"
'    Selection.AutoFill Destination:=Range("B2:B40")
'    Range("B2:B40").Select
'
'   Here is the modified code from the macro, with more flexibility now
'   because of the variables.
ActiveCell.FormulaR1C1 = "=RC[-1]*" & myConstant
Selection.AutoFill Destination:=Range("B2:B" & ourLastRow)
Range("B2:B" & ourLastRow).Select

Range("B1").Select  'park the cursor
End Sub

答案3

鲁迪:

我会使用这样的东西:

Range(Cells(1,ActiveCell.Column),Cells(WorksheetFunction.CountA(Columns(ActiveCell.Column)),ActiveCell.Column)).Select

这将选择活动列中从第 1 行开始包含数据的行数。

相关内容