欢迎光临散文网 会员登陆 & 注册

实例16-按文本查找指定列复制粘贴,实例17-多个工作表复制粘贴

2023-03-01 13:25 作者:凌霄百科_Excel办公程序  | 我要投稿

实例16-按文本查找指定列复制粘贴

Private Sub CommandButton复制粘贴_Click()

'判断工作簿名,工作表名不为空

With ThisWorkbook.Worksheets("操作界面")

     If Trim(.Cells(2, "C").Value) = "" Or Trim(.Cells(6, "C").Value) = "" Or Trim(.Cells(10, "C").Value) = "" _

     Or Trim(.Cells(18, "C").Value) = "" Or Trim(.Cells(14, "C").Value) = "" Or Trim(.Cells(14, "D").Value) = "" Or Trim(.Cells(22, "C").Value) = "" Then

     MsgBox "参数不能为空"

     Exit Sub

     End If


'On Error GoTo 处理出错

'定义变量

Dim wbname As String

Dim shname As String

wbname = Trim(.Cells(2, "C").Value)

shname = Trim(.Cells(6, "C").Value)

Dim matchcolumn As Long

Dim startnum As Long

Dim stopnum As Long

matchcolumn = Trim(.Cells(10, "C").Value)

startnum = Trim(.Cells(14, "C").Value)

stopnum = Trim(.Cells(14, "D").Value)

Dim matchtext As String

matchtext = Trim(.Cells(18, "C").Value)

Dim copyrange As String

copyrange = Trim(.Cells(22, "C").Value)

End With

'处理表格

With Workbooks(wbname).Worksheets(shname)

'循环判断

Dim i


For i = stopnum To startnum Step -1

    If .Cells(i, matchcolumn) <> "" And .Cells(i, matchcolumn) = matchtext Then

    ThisWorkbook.Worksheets("复制区域").Range(copyrange).Copy

        .Cells(i, matchcolumn).PasteSpecial Paste:=xlPasteAll

    End If

Next i

End With

Workbooks(wbname).Save

MsgBox "处理完成"

Workbooks(wbname).Activate

ActiveWindow.WindowState = xlMaximized

Workbooks(wbname).Worksheets(shname).Activate

Workbooks(wbname).Worksheets(shname).Cells(1, 1).Select

Exit Sub

处理出错:

MsgBox Err.Description

End Sub

实例17-多个工作表复制粘贴

Private Sub CommandButton复制粘贴_Click()

'判断工作簿名,工作表名不为空

With ThisWorkbook.Worksheets("操作界面")

     If Trim(.Cells(2, "C").Value) = "" Or Trim(.Cells(6, "C").Value) = "" Or Trim(.Cells(10, "C").Value) = "" Then

     MsgBox "参数不能为空"

     Exit Sub

     End If


'On Error GoTo 处理出错

'定义变量

Dim wbname As String

wbname = Trim(.Cells(2, "C").Value)

Dim copyrange As String

copyrange = Trim(.Cells(6, "C").Value)

Dim copyposition As String

copyposition = Trim(.Cells(10, "C").Value)

End With

'处理表格

With Workbooks(wbname)

'循环判断

Dim i


For i = 1 To .Worksheets.Count

    ThisWorkbook.Worksheets("复制区域").Range(copyrange).Copy .Worksheets(i).Range(copyposition)

Next i

End With

Workbooks(wbname).Save

MsgBox "处理完成"

Workbooks(wbname).Activate

Exit Sub

处理出错:

MsgBox Err.Description

End Sub


实例16-按文本查找指定列复制粘贴,实例17-多个工作表复制粘贴的评论 (共 条)

分享到微博请遵守国家法律