标题:vba 将sheet1中一列单元格部分数据复制 粘贴至新建的sheet2
只看楼主
zxpdd
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2021-11-21
结帖率:66.67%
已结贴  问题点数:10 回复次数:2 
vba 将sheet1中一列单元格部分数据复制 粘贴至新建的sheet2
想使用vba实现一下功能

在excel表sheet1中,先通过文本框输入编号信息检索,然后将所在行的第1,2,5,9列的信息分别复制到新建的sheet2中的1,2,3,4列中。
重复上述操作时,sheet2中的信息需要按搜索顺序排列汇总
有点复杂,望各位不吝赐教,小弟不胜感激。
搜索更多相关主题的帖子: vba 信息 复制 新建 分数 
2022-01-16 19:19
约定的童话
Rank: 9Rank: 9Rank: 9
等 级:贵宾
威 望:47
帖 子:190
专家分:1061
注 册:2021-8-1
得分:0 
最好上传附件
2022-01-16 20:26
吹水佬
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:432
帖 子:10064
专家分:41463
注 册:2014-5-20
得分:10 
复制示例,忽略排列汇总(具体要求不清楚)
程序代码:
   
    Dim newSheet As Worksheet
    On Error Resume Next
    Set newSheet = Worksheets("新建表")
    If TypeName(newSheet) = "Worksheet" Then
        newSheet.UsedRange.ClearContents
    Else
        Set newSheet = Worksheets.Add
        newSheet.Name = "新建表"
    End If
    On Error GoTo 0
    Dim sh1 As Worksheet
    Set sh1 = Worksheets("Sheet1")
    sh1.UsedRange.ClearContents
    sh1.Columns(1).Resize(10, 1).Value = 1
    sh1.Columns(2).Resize(10, 1).Value = 2
    sh1.Columns(5).Resize(10, 1).Value = 5
    sh1.Columns(9).Resize(10, 1).Value = 9
    Dim rng As Range
'    Set rng = Union(sh1.Columns(1).Resize(10, 1), _
'                    sh1.Columns(2).Resize(10, 1), _
'                    sh1.Columns(5).Resize(10, 1), _
'                    sh1.Columns(9).Resize(10, 1))
    Set rng = Union(sh1.Columns(1), sh1.Columns(2), sh1.Columns(5), sh1.Columns(9))
    rng.Copy newSheet.Cells(1, 1)


[此贴子已经被作者于2022-1-17 11:09编辑过]

2022-01-17 11:07



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-508163-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.388819 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved