Excel VBA点击数据即可实现录入告别复制粘贴

您所在的位置:网站首页 vba数据录入 Excel VBA点击数据即可实现录入告别复制粘贴

Excel VBA点击数据即可实现录入告别复制粘贴

2022-05-20 19:18| 来源: 网络整理| 查看: 265

在我们的日常做数据,做表格的过程中,相信大家用的最多的操作方式就是数据的复制粘贴了。

为什么呢?

毕竟有时候,数据实在太复杂,就像我们上节所说的数据那样,又有大小写又有数组又有中文的,这样来回的切换输入法,对于我们日常的工作来说,是很大的麻烦

所以更多时候,我们还是会选择复制粘贴来进行数据的录入

不过复制粘贴有时候也不一定能实现效果,因为复制粘贴,你还会把数据的格式,公式也一起粘贴过来,这也是比较麻烦的事情

那你又不得不进行二次处理,或者在粘贴的时候右键选择对应的粘贴内容

Excel VBA点击数据即可实现录入告别复制粘贴

这个工作量太大了

那么有没有一种更加快捷的数据录入方法呢?

今天我们来学习一种新方法,那就是通过vba来实现单击数据,即可将数据录入指定区域的方法

这样大家的工作效率又可以提升一倍了。

我们还是以昨天的案例为蓝图

Private Sub Worksheet_SelectionChange(ByVal Target As Range)

Dim sth As Worksheet, sth1 As Worksheet, arr(), frng As Range, rng As Range

Set sth = ActiveSheet

Set sth1 = Worksheets(“目录”)

If Target.Column = 1 Then

y = Target.Row

x = y

l = sth1.Cells(Rows.Count, x).End(xlUp).Row

sth.Columns(2) = “”

For i = 1 To l

Cells(i, 2) = sth1.Cells(i, x)

Next i

End If

If Target.Column = 2 Then

s = Cells(1, 2)

With ActiveSheet.UsedRange.Rows(1)

Set rng = .Find(s, SearchDirection:=xlPrevious)

col = rng.Column

End With

l1 = sth.Cells(Rows.Count, col).End(xlUp).Row + 1

sth.Cells(l1, col) = Target

End If

End Sub

上面是我们今天的代码,依然是利用了单元格的事件功能

来,我们先来看看最终的效果如何

Excel VBA点击数据即可实现录入告别复制粘贴

效果很明显,非常轻松的就实现了我们的效果

只需要在你想要录入的数据所在的单元格上面点击一下,相应的数据就会迅速的录入到对应的分类下

这样录入数据远比你用键盘去复制粘贴要快很多啊。

而且最重要的一点就是,这样不会出错

代码解析

那么来看看今天的代码

今天还是用了单元格的事件功能

和上一节的代码相比,最大的不同就是这里我们多了几个判断,来看看

Excel VBA点击数据即可实现录入告别复制粘贴

这两个的判断就是我们判断单那段元格点击事件的区域的

因为这个单元格点击事件,适用于整个excel的所有单元格,意思就是说只要你点击这个工作表的任意一个单元格,那么都会触发这个事件功能

但是呢

我们在今天的事件功能,只针对第一列和第二列这两列有效

所以在这里我们需要增加两个判断,那就是去判断点击这个事件是发生在第一列还是第二列的

如果实在第一列,那么我们就只需要去执行上节的代码,去更新数据就可以了

如果点击发生在第二列,那我们就要去执行今天的代码去粘贴数据了。

OK

我们来继续往下走

既然现在已经已经在第二列点击了单元格,那么我们要复制数据了。

这个时候数据是随便复制的吗?

当然不是,我们还要找到对应的类别,在对应的区域进行粘贴

那么如何找到对应的类别所在的区域呢

用我们熟悉的单元格查找功能

s = Cells(1, 2)

With ActiveSheet.UsedRange.Rows(1)

Set rng = .Find(s, SearchDirection:=xlPrevious)

col = rng.Column

End With

得到的这个rng之后,我们就可以利用rng.Column得到列数了,这个列数就是类别所在的列

Excel VBA点击数据即可实现录入告别复制粘贴

有了这个列数之后,剩下的就很简单了。

或者这一列的最后一个非空单元格,然后就可以直接填充数据了。

填充其实就相当于是数据的复制粘贴了,这里粘贴过来的,而也不会格式,公式等问题的干扰。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3