文科生自学VBA-利用Offset和Union方法移动复制特定数据

--想象力远比知识重要,但知识赋予想象力力量,学习编程成就更好的自己--

微软公司Office软件在商业办公领域一直占据着主流和主导地位,其中Excel在数据处理和分析领域有着强大的影响力,大部分人在经历几年职场历练后可以熟练的使用Excel函数透视表功能,基本可以轻松完成绝大多数工作和任务。但实际上Office的强大和独特之处还在于VBA,因为VBA能够胜任好多个性化二次开发,减少重复机械劳动从而实现办公自动化,开发效率高且开发周期短,尤其对于Excel重度使用者来说会了VBA简直就是如虎添翼啊!!!(本人外语专业毕业,机缘巧合爱上编程,自学道路曲曲折折,痛并快乐!)在这里总结一下自学VBA遇到的难点和重点,分享码过的代码和要点总结,希望能够给初学者一点启示和鼓励,同时愿意结交更多大神交流有助提升自己的水平。

今天通过一个简单的案例来分享有关如何利用OffsetUnion方法移动特定区域数据,在VBA编程中经常需要选定目标数据区域移动到固定位置,就需要了解和掌握Offset方法和Union方法。简单来讲Offset(x,y)方法就是“乾坤大挪移”,如果x为2代表纵向向下移动2个单元格位置,如果y为3代表横向向右移动3个单元格位置;Union方法就是联合不同区域的数据组成一个整体,下面看具体实例截图:

移动前:

文科生自学VBA-利用Offset和Union方法移动复制特定数据

移动后:

文科生自学VBA-利用Offset和Union方法移动复制特定数据

任务和需求:

把字段名字("A1:C1")复制和移动到G1位置,把国籍含有“美国”的数据全部复制和移动到对应下方位置,那么如何解决呢?

使用Offset方法移动字段头到G1位置:

文科生自学VBA-利用Offset和Union方法移动复制特定数据

使用Union方法移动国籍为美国的数据到range("G1:I1")下方:

文科生自学VBA-利用Offset和Union方法移动复制特定数据

代码汇总如下:

Sub MoveHeadWithOffset() '使用Offset来移动数据
Application.ScreenUpdating = False
Sheets("DATA-UNION").Select
Range(Range("A1"), Range("A1").End(xlToRight)).Copy Range("A1").End(xlToRight).Offset(0, 4)
Application.ScreenUpdating = False
End Sub

Sub GetDataWithUnion() '使用Union来组合数据
Application.ScreenUpdating = False
Sheets("DATA-UNION").Select
Dim Rng As Range
Dim i As Long, lr As Long
lr = ActiveSheet.UsedRange.Rows.Count
For i = 2 To lr Step 1
    If Range("B" & i) = "美国" Then
        If Rng Is Nothing Then '将第一行带有美国国籍的数据放入变量Rng中
            Set Rng = Range(Range("A" & i), Range("A" & i).End(xlToRight))
            Rng.Select '展示一下此时Rng具体对应的单元格区域
            Debug.Print Range("A" & i)
        Else:
            '联合所有带有美国国籍的数据区域
            Set Rng = Union(Rng, Range(Range("A" & i), Range("A" & i).End(xlToRight)))
            Rng.Select '展示一下此时Rng具体对应的单元格区域
        End If
    End If
Next i
Rng.Copy Range("G2") '‘粘贴数据出来
Application.ScreenUpdating = False
End Sub

解决这个问题有多个思路,比如把整体数据都移动过来后删除不需要的数据,今天所使用的思路主要利用了Union和Offset方法,在某种程度来讲这种方式的代码量更少更简洁,对于一些特殊问题会有奇效。所以大家尽量掌握更多方法,在面对疑难杂症时可以从容选择最优解!!!

END

我为人人,人人为我!!欢迎大家关注,点赞和转发!!!

~~人生不是赛场,梦想不容退场~~不断努力学习蜕变出一个更好的自己,不断分享学习路上的收获和感悟帮助他人成就自己!!!

展开阅读全文

页面更新:2024-05-20

标签:微软公司   方法   数据   美国   字段   国籍   想象力   思路   成就   区域   位置   领域   代码   代表   简单   科技

1 2 3 4 5

上滑加载更多 ↓
推荐阅读:
友情链接:
更多:

本站资料均由网友自行发布提供,仅用于学习交流。如有版权问题,请与我联系,QQ:4156828  

© CopyRight 2020-2024 All Rights Reserved. Powered By 71396.com 闽ICP备11008920号-4
闽公网安备35020302034903号

Top