使用 VBA 根据条件(如 DataFrame.loc)从 sheet 范围中提取数据
Extract data from sheet range based on condition (like DataFrame.loc) using VBA
我在 VBA 中遇到了一个问题,我不知道该怎么做,因为我对 VBA 还很陌生,如果有人能指导我,我将不胜感激。所以你们中的一些 python 编码员的问题就是简单地做 DataFrame.loc[DataFrame['Name']=='John'][-1]。这就是我的意思:
这就是我在传播中的内容sheet 让我们从单元格范围 (A1:E3) 说起
Name
Bio
Date
John
Loves travelling to the mountains
11/20
Joe
plays computer
11/20
John
goes to the sea a lot
01/22
Jenny
dances salsa
02/22
在单独的 sheet 上,我有 2 个按钮和 2 个单元格
- 向数据库添加信息(内置VBA)
- 提取最新信息到数据库
- 第一个单元格允许我输入名称,例如 'John'
- 允许我进入生物的第二个单元格(或等效地将生物提取到)
我如何在 VBA 中构建代码,假设我输入 John,然后单击按钮提取简介,我将能够将 John 的最新 Bio(日期为 01/22 的)放入另一个单元格?
谢谢
如果您使用的是旧版本的 Excel,您可以使用 SUMPRODUCT 执行此操作:
=SUMPRODUCT(MAX(--(A2:A5=G5)*C2:C5))
在Excel365中,可以使用函数MAXIFS:
您好,我为其他正在寻找类似内容的人找到了解决方案,并已关闭此查询。
如果我们设置一个数据数组,可以用来存储sheet范围内的table。然后我们可以这样遍历数据:
Dim rowCount
Dim dataArray As Variant
Dim bio
For i = 1 To rowCount
If dataArray(i, 1) = Name Then
bio = dataArray(i, 2)
End If
Next
Sheets("Main").Range("A5") = bio
其中 rowCount 应该是 table 中的行数,这可以在 sheet 的单元格内指定,并且 Name 可以是任何名称,例如 'John'
我在 VBA 中遇到了一个问题,我不知道该怎么做,因为我对 VBA 还很陌生,如果有人能指导我,我将不胜感激。所以你们中的一些 python 编码员的问题就是简单地做 DataFrame.loc[DataFrame['Name']=='John'][-1]。这就是我的意思:
这就是我在传播中的内容sheet 让我们从单元格范围 (A1:E3) 说起
Name | Bio | Date |
---|---|---|
John | Loves travelling to the mountains | 11/20 |
Joe | plays computer | 11/20 |
John | goes to the sea a lot | 01/22 |
Jenny | dances salsa | 02/22 |
在单独的 sheet 上,我有 2 个按钮和 2 个单元格
- 向数据库添加信息(内置VBA)
- 提取最新信息到数据库
- 第一个单元格允许我输入名称,例如 'John'
- 允许我进入生物的第二个单元格(或等效地将生物提取到)
我如何在 VBA 中构建代码,假设我输入 John,然后单击按钮提取简介,我将能够将 John 的最新 Bio(日期为 01/22 的)放入另一个单元格?
谢谢
如果您使用的是旧版本的 Excel,您可以使用 SUMPRODUCT 执行此操作:
=SUMPRODUCT(MAX(--(A2:A5=G5)*C2:C5))
在Excel365中,可以使用函数MAXIFS:
您好,我为其他正在寻找类似内容的人找到了解决方案,并已关闭此查询。
如果我们设置一个数据数组,可以用来存储sheet范围内的table。然后我们可以这样遍历数据:
Dim rowCount
Dim dataArray As Variant
Dim bio
For i = 1 To rowCount
If dataArray(i, 1) = Name Then
bio = dataArray(i, 2)
End If
Next
Sheets("Main").Range("A5") = bio
其中 rowCount 应该是 table 中的行数,这可以在 sheet 的单元格内指定,并且 Name 可以是任何名称,例如 'John'