我正在尝试将Excel工作表拆分为多个工作表。我试图拆分的工作表上有很多表,它们各自用“-----”分隔,它出现在A列的每个表之后。有没有人知道如何在每个表之前和之后提取信息“ -----“把它放到一张新纸上?我不介意将字符串复制到新工作表上。如果我在一张以“-----”分隔的工作表上有10个表格,我想要10张,每张都有不同的表格。
我遗憾的是还没有任何代码,因为我没有尝试在重复值之间提取信息。我非常欣赏这些想法,即使只是为了实现个别步骤。
答案 0 :(得分:2)
这应该有效。根据您的要求修改searchString
。它不会为第一组数据创建新工作表,这意味着它将创建9个附加工作表,原始工作表将是第10页
Option Explicit
Sub serachAndCopy()
Dim searchString As String
searchString = "---"
Dim lastRow As Integer, i As Integer
lastRow = 0
Dim thisSheet As Worksheet
Set thisSheet = Sheets("Sheet1")
Dim sh As Worksheet
For i = thisSheet.Range("A" & Rows.Count).End(xlUp).Row To 1 Step -1
If (thisSheet.Range("A" & i) = searchString) Then
If lastRow = 0 Then
lastRow = i
Else
Sheets.Add After:=Sheets(Sheets.Count)
Set sh = ActiveSheet
thisSheet.Rows(i + 1 & ":" & lastRow).Copy Destination:=sh.Rows("1:1")
thisSheet.Rows(i + 1 & ":" & lastRow).Delete
lastRow = i
End If
End If
Next i
End Sub