VBA宏之自动抓取关键文字并填充到指定单元格

文章描述了一个使用VBA编写的Excel宏,用于检查特定列中的IPTV或TV字样,并在符合条件的单元格旁标记,最后将处理后的数据保存为前一天日期命名的文件。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

需求如下:

  1. 最后一列字段名称为“IPTV”;
  2. 判断最后的数据是在哪一行?
  3. 某两列中筛选含有“IPTV”或“TV”,最后一列对应就为“IPTV”,否则为空;
  4. 最后生成的结果另存为指定日期名称的Excel文件;
Sub 判断平台是否为IPTV()

'定义变量
Dim Lastrow, i As Long
Dim Startrow, Startcolumn As Long

'确认当前单元格所在行列
Startrow = 3
Startcolumn = 14

'确认当前单元格最后一行有数据的是在哪一行
Lastrow = Cells(1000000, Startcolumn).End(xlUp).Row


'清除原先的结果内容
'Range("x3" & ":x" & Lastrow).ClearContents

'用来摆放宏准备输出的信息
Columns(24).Select


'定义一个文本变量,用来存放待判断的单元格值
Dim str1, str2 As String

'从选中的单元格开始,一直判断到该列的最后一行
For i = Startrow To Lastrow
    str1 = Cells(i, Startcolumn)
    str2 = Cells(i, Startcolumn + 1)
    
    '如果单元格值包含IPTV
    If InStr(1, str1, "IPTV", 1) Then
        '则在该单元格同一行的下一列填入“IPTV”
        Cells(i, 24) = "IPTV"
        
    ElseIf InStr(1, str1, "TV", 1) Then
        Cells(i, 24) = "IPTV"
        
    ElseIf InStr(1, str2, "IPTV", 1) Then
        Cells(i, 24) = "IPTV"
        
    ElseIf InStr(1, str2, "TV", 1) Then
        Cells(i, 24) = "IPTV"
        
        
    End If
Next
  
'另存重命名
Excel.Application.DisplayAlerts = False
'新表名:获取前一天的日期
wbn = Format(Now() - 1, "m.dd") & "投诉明细" & ".xlsx"
ActiveWorkbook.SaveAs Filename:="C:\Users\18703\Desktop\" & wbn
Excel.Application.DisplayAlerts = True
MsgBox "完成"
    
End Sub


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

rubyw

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值