VBA实现跨工作表循环数据并输出至记事本的技术问询
嘿,我把你的VBA学习需求和编写的代码整理成清晰的格式啦:
VBA循环输出Excel数据到记事本的需求与代码
需求说明
我正在学习VBA,目前有这样的输出需求:
- Sheet1中包含18行5列的数据
- Sheet2中包含3行8列的数据
- 输出逻辑:先输出Sheet1的第1-6行,接着输出Sheet2的第1行;再输出Sheet1的第7-12行,然后输出Sheet2的第2行;最后输出Sheet1的第13-18行,再输出Sheet2的第3行,后续按这个逻辑循环
- 最终要把这些内容输出到指定路径的记事本文件中
我编写的VBA代码
Sub Looping() Dim str As String Dim MaxStrLen As String Dim rest As Integer Dim Lstr As Integer Dim LMstr As Integer Dim MStr As Integer Dim LR As Range Dim CNT As Integer Dim LastRow As Long Dim LastCol As Long Dim LRow As Long Dim LCol As Long Dim ws1 As Worksheet Dim ws2 As Worksheet Dim ws3 As Worksheet Dim i As Long Dim j As Long Dim Page_Break As Long Dim k As Long Dim PB As Long Dim x As Long Dim y As Long Dim rng As Range Set rng = Range("A1:E6") Dim FilePath As String Set ws1 = Sheets("Sheet1") Set ws2 = Sheets("Sheet2") Set ws3 = Sheets("Sheet3") Open "C:\Users\Antony\Music\Excel Macros\Test.txt" For Output As #2 '''''FIRST FIVE LINES WILL PRINT IN THE NOTEPAD With ws1 LastRow = .Cells(.Rows.Count, 1).End(xlUp).Row LastCol = .Cells(1, .Columns.Count).End(xlToLeft).Column LRow = ws2.Cells(.Rows.Count, 1).End(xlUp).Row LCol = ws2.Cells(1, .Columns.Count).End(xlToLeft).Column BlkSize = 6 'data consists of blocks of 6 rows For i = 1 To LastRow sOut = vbNullString LengthRow = i Do While LengthRow > BlkSize LengthRow = LengthRow - BlkSize Loop 'LengthRow points to row where char length is to be taken from For j = 1 To LastCol str = .Cells(i, j).Value If str <> Em...
内容的提问来源于stack exchange,提问作者user6314105
相关产品推荐
相关产品推荐

