You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

基于Excel工作表列条件提取数据生成文本文件

Excel VBA宏实现条件提取数据并写入文本文件

实现思路

  • 遍历当前工作簿的所有工作表
  • 逐行校验A列(Filename)是否为SysInfoMgrServices.csv、E列(7.4 J2)是否为x
  • 将符合条件的B列(variable name)内容追加写入指定文本文件

VBA代码实现

Sub ExtractAndWriteToText()
    Dim ws As Worksheet
    Dim lastRow As Long
    Dim i As Long
    Dim filePath As String
    Dim fileNum As Integer
    
    ' 修改为你实际要保存的文本文件路径
    filePath = "C:\Your\Target\Path\output.txt"
    
    ' 获取可用文件编号
    fileNum = FreeFile()
    
    ' 以追加模式打开文件(不会覆盖已有内容)
    Open filePath For Append As #fileNum
    
    ' 遍历工作簿中所有工作表
    For Each ws In ThisWorkbook.Worksheets
        ' 获取当前工作表A列最后一行的行号(避免遍历空行)
        lastRow = ws.Cells(ws.Rows.Count, "A").End(xlUp).Row
        
        ' 从第2行开始遍历(假设第1行是表头,若数据从第1行开始则改为i=1)
        For i = 2 To lastRow
            ' 校验条件:A列等于指定文件名,E列等于"x"
            If ws.Cells(i, "A").Value = "SysInfoMgrServices.csv" And _
               ws.Cells(i, "E").Value = "x" Then
                ' 将对应B列内容写入文本文件,每行一条
                Print #fileNum, ws.Cells(i, "B").Value
            End If
        Next i
    Next ws
    
    ' 关闭文件
    Close #fileNum
    
    MsgBox "数据提取完成,已写入指定文本文件!", vbInformation
End Sub

使用步骤

  1. 打开目标Excel文件,按Alt+F11打开VBA编辑器
  2. 右键左侧工作簿名称,选择「插入」->「模块」
  3. 将上述代码粘贴到模块窗口,修改filePath为你的实际保存路径
  4. 按F5运行宏,或回到Excel界面,通过「开发工具」->「宏」选择ExtractAndWriteToText执行

内容的提问来源于stack exchange,提问作者Nathan Floyd

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.04 21:50:33