Excel VBA代码修改需求:将G、H列内容分别复制到记事本两行
修改VBA代码实现分行列输出到记事本
原代码会将G、H列的内容两两拼接后输出到同一行,以下是修改后的代码,可实现G列所有内容作为一行、H列所有内容作为另一行的输出效果:
Dim wsSource As Worksheet Dim rDataRange As Range Dim rCell As Range Dim sGColumn As String Dim sHColumn As String Dim lrowData As Long ' 指定数据所在工作表 Set wsSource = ThisWorkbook.Worksheets("Data") ' 获取数据区域的最后一行 lrowData = wsSource.Range("G" & Rows.Count).End(xlUp).Row Set rDataRange = wsSource.Range("G40:H" & lrowData) ' 遍历G列单元格,拼接内容 For Each rCell In rDataRange.Columns(1).Cells sGColumn = sGColumn & rCell.Value & ";" Next rCell ' 遍历H列单元格,拼接内容 For Each rCell In rDataRange.Columns(2).Cells sHColumn = sHColumn & rCell.Value & ";" Next rCell ' 移除两行末尾的分号 sGColumn = Left(sGColumn, Len(sGColumn) - 1) sHColumn = Left(sHColumn, Len(sHColumn) - 1) ' 组合最终输出字符串,添加换行分隔两行 Dim sStringout As String sStringout = "column G -> " & sGColumn & vbCrLf & "column H -> " & sHColumn ' 启动记事本并获取焦点 Shell "C:\windows\system32\notepad.exe", vbNormalFocus ' 将内容发送到记事本 SendKeys sStringout
关键改动说明
- 新增
sGColumn和sHColumn两个变量,分别单独收集G列、H列的内容,避免原代码逐行拼接两列的逻辑 - 分别遍历G、H列的单元格,完成各自列的内容拼接
- 使用
vbCrLf添加换行符,实现两行内容的分隔 - 最终组合字符串时添加要求的前缀文本,确保输出格式与预期一致
内容的提问来源于stack exchange,提问作者Heinrichxx
相关产品推荐
相关产品推荐

