查找Excel最后一个非空单元格的值,你会吗?(适用于数据加行时,一直引用最后一个非空单元格的值)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 可以使用以下 VBA 代码实现: ```vb Sub ExtractData() Dim lastRow As Long Dim i As Long Dim strData As String lastRow = Cells(Rows.Count, "I").End(xlUp).Row For i = 1 To lastRow If Not IsEmpty(Cells(i, "I").Value) Then If InStr(Cells(i, "I").Value, ">[") > 0 Then strData = strData & Replace(Replace(Cells(i, "I").Value, ">", ""), "[", "") & vbCrLf End If End If Next i Range("I1:I" & lastRow).ClearContents Range("A1").Value = strData End Sub ``` 这段代码首先获取最后一行的行号,然后逐行扫描 I 列中的单元格。如果单元格非空,且包含 ">[" 符号,则提取符号之间的数据,并用换行符连接多组数据最后将 I 列中的数据清空,将提取出来的数据放在 A1 单元格中。 ### 回答2: VBA是一种编程语言,可以通过编写宏来处理Excel表格中的数据。根据题目要求,我们需要处理I列非空单元格中的数据。 首先,我们需要遍历I列的每个非空单元格,可以使用For Each循环进行遍历。对于每个非空单元格,我们需要判断其内容中是否存在连续的">["符号,并保存符号之间的数据。 可以使用一些字符串处理函数来完成这个任务。首先,我们需要使用InStr函数在单元格内容中查找">["符号的位置。然后,我们可以使用Mid函数提取符号之后的数据。这样,我们就可以得到符号之间的内容。 在处理完一个非空单元格后,我们可以将得到的内容保存到一个变量中,如果存在多组符号之间的数据,我们可以使用换行符(vbCrLf)进行连接。 最后,我们需要将处理后的数据保存回I列的相应单元格中。可以使用Offset函数来定位对应的单元格,然后使用Value属性将处理后的数据写入该单元格。 整体的处理逻辑如下: 1. 定义一个变量来保存处理后的数据,初始化为空。 2. 使用For Each循环遍历I列的每个非空单元格。 3. 判断单元格内容中是否存在连续的">["符号,如果存在,使用InStr函数和Mid函数提取符号之间的内容,并将其添到变量中。 4. 处理完一个非空单元格后,判断是否还有后续的非空单元格,如果有,使用换行符进行连接。 5. 将处理后的数据保存回I列的相应单元格中。 以上就是使用VBA处理I列非空单元格,保存连续">["符号之间的数据,其余的全部删除,并用换行符进行连接的方法。注意,代码中的具体细节需要根据实际情况进行调整和实现。 ### 回答3: 首先,我们需要使用VBA编写一个宏来处理这个需求。 首先,在VBA编辑器中创建一个新的模块,在模块中编写以下代码: ```vba Sub 处理数据() Dim lastRow As Long Dim cell As Range Dim data As String lastRow = Cells(Rows.Count, "I").End(xlUp).Row ' 获取最后一行的行数 For Each cell In Range("I1:I" & lastRow) ' 遍历I列的每一个单元格 If Not IsEmpty(cell) Then ' 判断单元格是否非空 If InStr(cell.Value, "> [") > 0 Then ' 判断单元格中是否包含 "> [" data = data & cell.Value & Chr(10) ' 使用换行符进行连接 End If End If Next cell ' 将结果写入到A列 Range("A1").Value = data End Sub ``` 上述代码中,我们首先声明了一些变量,`lastRow`用于获取最后一行的行数,`cell`用于遍历I列的每一个单元格,`data`用于保存我们需要的结果。 使用`For Each`循环遍历I列的每一个单元格,判断单元格是否非空,并且是否包含 "> [",如果满足条件,则将其保存到`data`中,并使用`Chr(10)`即换行符进行连接。 最后,将结果写入到A列的第一个单元格。 在Excel中,按下`Alt + F11`打开VBA编辑器,然后选择“插入” -> “模块”,将以上代码复制粘贴到新建的模块中。 然后,在Excel中按下`Alt + F8`打开宏窗口,选择我们刚刚创建的宏“处理数据”,点击“运行”。 这样,我们就可以将I列非空单元格中连续大于号和左方括号中的数据保存到A列,并且多组数据之间用换行符进行连接。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值