美文网首页
表格中选中某行插入目标表格

表格中选中某行插入目标表格

作者: 王伯卿 | 来源:发表于2018-05-01 22:15 被阅读0次

我们需要完成这样的需求:
在许多个表格中选取表头是hmq的一行,复制整行,并且插入目标表格特定的位置。
这里的只演示如何选取我们需要的那一行。
思路:

  1. 计算整个表有多少行,作为循环的最后一个数字
  2. 从第一个单元格开始遍历,查找是否等于hmq,如果结果为true,则将行号返回
  3. 选取整行
Sub test()

    Dim e_n, i, hmq_n As Integer
    Dim mrg As Range
    Dim hmq_rg As Range
    
    Set mrg = Range("a:a")
    e_n = Application.WorksheetFunction.CountA(mrg)
    
    For i = 1 To e_n
        If Cells(i, 1) = "hmq" Then
            hmq_n = i
        End If
    Next
    
    Set hmq_rg = Range(Range("a" & hmq_n), Range("a" & hmq_n).End(xlToRight))
    hmq_rg.Select
    
End Sub

下面这个是拓展版本,可以实现多文件复制粘贴操作

Sub test2()

    Application.ScreenUpdating = fasle
    
    Dim e_n, i, hmq_n As Integer
    Dim mrg, hmq_rg As Range
    Dim path, temp, sheet_n, file_n As String
    
    path = ThisWorkbook.path + "\test_data\"
    temp = Dir(path & "*.xlsx")
    
    If temp = "" Then
        MsgBox "none"
    End If
    
    Do While temp <> ""
        If temp = "" Then
            Exit Do
        End If
        
        Set wb = Workbooks.Open(path & temp)
        sheet_n = ActiveSheet.Name
        Set mrg = wb.Sheets(sheet_n).Range("a:a")
        e_n = Application.WorksheetFunction.CountA(mrg)
        
        For i = 1 To e_n
            If Cells(i, 1) = "hmq" Then
                hmq_n = i
            End If
        Next
        
        With wb
            .Sheets(sheet_n).Range(Range("a" & hmq_n), Range("a" & hmq_n).End(xlToRight)).Copy _
                ThisWorkbook.Sheets("Sheet1").Range("B65536").End(xlUp).Offset(1, 0)
        End With

        wb.Close False
        
        file_n = temp
        file_n = Mid(file_n, 1, Len(file_n) - 5)
        
        e_n = Application.WorksheetFunction.CountA(Sheet1.Range("B:B"))
        ThisWorkbook.Sheets("sheet1").Range(Range("A65536").End(xlUp).Offset(1, 0), Range("A" & e_n)) = file_n
        
        temp = Dir
    Loop
    
End Sub

添加了判断,运行时可以更加的人性化

Sub test()

    Application.ScreenUpdating = fasle
    
    Dim e_n, i, hmq_n As Integer
    Dim mrg, hmq_rg As Range
    Dim path, temp, sheet_n, file_n, this_n As String
    
    path = ThisWorkbook.path + "\test_data\"
    
    this_n = ActiveSheet.Name
       
    temp = Dir(path & "*.xlsx")
    
    If temp = "" Then
        MsgBox "none"
    End If
    
    Do While temp <> ""
        If temp = "" Then
            Exit Do
        End If
        
        Set wb = Workbooks.Open(path & temp)
        sheet_n = ActiveSheet.Name
        Set mrg = wb.Sheets(sheet_n).Range("a:a")
        e_n = Application.WorksheetFunction.CountA(mrg)
        
        file_n = temp
        file_n = Mid(file_n, 1, Len(file_n) - 5)
        
        For i = 1 To e_n
            
            If Cells(i, 1) = "hmq" Then
                hmq_n = i
            End If
        Next
        
        If hmq_n = 0 Then
            MsgBox (file_n & "中没有hmq,请确认文件中的内容")
            wb.Close False
            Exit Sub
        End If
        
        With wb
            .Sheets(sheet_n).Range(Range("a" & hmq_n), Range("a" & hmq_n).End(xlToRight)).Copy _
                ThisWorkbook.Sheets(this_n).Range("B65536").End(xlUp).Offset(1, 0)
        End With

        wb.Close False
        
        e_n = Application.WorksheetFunction.CountA(Sheet1.Range("B:B"))
        ThisWorkbook.Sheets(this_n).Range(Range("A65536").End(xlUp).Offset(1, 0), Range("A" & e_n)) = file_n
        
        temp = Dir
        hmq_n = 0
    Loop
    
End Sub

相关文章

  • 表格中选中某行插入目标表格

    我们需要完成这样的需求:在许多个表格中选取表头是hmq的一行,复制整行,并且插入目标表格特定的位置。这里的只演示如...

  • PPT-Lecture07-表格

    1、如何插入表格? “插入”->"表格"->给定行列即可。 2、插入表格之后,如何修改表格的样式? 选中表格,->...

  • Excel必学技术-表格美化

    一、表格美化步骤 1、插入表格:选中原本表格,点击“插入”选卡 =》表格 2、套用样式:可以选择套用不同的表格样式...

  • Word使用技巧(表格技巧、快捷键)

    一、表格技巧 1、拆分表格 在word中插入的表格,如果需要拆分成两个,只需要选取某行的单元格,按ctrl+shi...

  • word表格内文字居中

    今天在word中插入了一个表格,看到左边的文字没居中很难受。 选中表格-选择 , 选择 ,选中 即可 设置完,看着...

  • 三线表

    1:插入表格4*3 2:选中表格,选择无边框 3:再依次选中上框线和下框线 4:再选中第一行表格,选择下框线,0....

  • word常见问题及解决方案

    表格分离在两页选中表格-->右键表格属性-->行-->勾选允许跨页断行 页脚插入页码出现{PAGE*MERGEFO...

  • 2019-11-06超智能表格

    Day 4 超智能表格 一、创建超智能表格 方法一:插入一表格(默认选中区域)一确定 方法二:Ctrl+T 快速创...

  • Word中,+-(加减)符号就能制表

    Word文档中如何插入表格? 我们一般都是用“插入”→“表格”。 还有另1种插入表格的方法: 01只需在文档中输入...

  • element ui ----table表格(带多选框)+分页实

    大概的需求是,把A表格里面选中的数据,赋值到B表格中,当B表格移除某条数据时,A表格中对应的那条数据也应该取消选中...

网友评论

      本文标题:表格中选中某行插入目标表格

      本文链接:https://www.haomeiwen.com/subject/plwfrftx.html