Sub 合并滞回环为一条曲线() Dim sourceSheet As Worksheet Dim targetSheet As Worksheet Dim lastRow As Long Dim lastCol As Long Dim rowCount As Long Dim i As Integer Dim sourceSheetName As String ' 要求输入源工作表的名称 sourceSheetName = InputBox("请输入源工作表的名称:") ' 设置源工作表和目标工作表 Set sourceSheet = ThisWorkbook.Sheets(sourceSheetName) Set targetSheet = ThisWorkbook.Sheets.Add ' 获取源工作表的列数 lastCol = sourceSheet.Cells(1, sourceSheet.Columns.Count).End(xlToLeft).Column ' 复制第1、2列的数据到目标工作表 For i = 1 To lastCol Step 2 ' 获取源工作表的最后一行 lastRow = sourceSheet.Cells(sourceSheet.Rows.Count, i).End(xlUp).Row ' 获取目标工作表的行数 rowCount = targetSheet.Cells(targetSheet.Rows.Count, 1).End(xlUp).Row sourceSheet.Range(sourceSheet.Cells(1, i), sourceSheet.Cells(lastRow, i + 1)).Copy Destination:=targetSheet.Cells(rowCount + 1, 1) Next i MsgBox "已将所有滞回环合并为一条滞回曲线!" End Sub
Sub 拆分滞回环到单个工作表() Dim sourceSheet As Worksheet Dim targetSheet As Worksheet Dim lastRow As Long Dim lastCol As Long Dim rowCount As Long Dim i As Integer Dim sourceSheetName As String Dim num As Integer num = 0 ' 要求输入源工作表的名称 sourceSheetName = InputBox("请输入源工作表的名称:") ' 设置源工作表和目标工作表 Set sourceSheet = ThisWorkbook.Sheets(sourceSheetName) ' 获取源工作表的列数 lastCol = sourceSheet.Cells(1, sourceSheet.Columns.Count).End(xlToLeft).Column ' 复制第1、2列的数据到目标工作表 For i = 1 To lastCol Step 2 ' 获取源工作表的最后一行 lastRow = sourceSheet.Cells(sourceSheet.Rows.Count, i).End(xlUp).Row ' 新建目标工作表 Set targetSheet = ThisWorkbook.Sheets.Add targetSheet.Name = num sourceSheet.Range(sourceSheet.Cells(1, i), sourceSheet.Cells(lastRow, i + 1)).Copy Destination:=targetSheet.Cells(1, 1) num = num + 1 Next i MsgBox "拆分完成!" End Sub