VBA实操
目录
文件
链接:https://pan.baidu.com/s/1ns7wv6I0eKjNzWzBqmPTPw
提取码:lipf
最近通过VBA完成了在Excel中根据明细中的信息自动生成标签的功能,今天通过固定资产标签做一次模拟。
一、Excel设计明细和标签的样板
上面的模板仅供参看,最好在标签打印中提前设置好大小,目前我设置的是大小,大概一行三个。
新增一个模块
Sub 清除()
'获取标签页打印最大行数
num = Sheets("标签页打印").UsedRange.Rows.Count
'清空打印内容
Sheets("标签页打印").Range("A1:L" & num).clear
End Sub
此功能是为了每次打印前能够清除工作簿内容,避免出现错误
实现原理就是通过复制标签模板里设置好的内容,然后在标签打印的时候粘贴出来
Sub 标签模板(i As Integer, j As Integer)
Dim sourceRange As Range
Dim destinationRange As Range
'设置源区域
Set sourceRange = Sheets("标签模板").Range("A1:D5")
'设置目标区域
Set destinationRange = Sheets("标签页打印").Cells(i, j)
'复制源区域的内容
sourceRange.Copy
'粘贴到目标区域,并且设置格子的大小
destinationRange.PasteSpecial Paste:=xlPasteAll
For Each sourceCell In sourceRange.Cells
Set destinationCell = destinationRange.Cells(sourceCell.Row - sourceRange.Row + 1, sourceCell.Column - sourceRange.Column + 1)
destinationCell.RowHeight = sourceCell.RowHeight
Next sourceCell
End Sub
实现原理:通过读取对应行数的数据,将数据插入到标签打印页的指定位置
Sub 标签打印(a As Integer, i As Integer, j As Integer)
Dim start As Integer
start = 1
Sheets("标签页打印").Cells(i, j + 1) = Sheets("固定资产明细").Range("a" & a + start)
Sheets("标签页打印").Cells(i + 1, j + 1) = Sheets("固定资产明细").Range("b" & a + start)
Sheets("标签页打印").Cells(i + 2, j + 1) = Sheets("固定资产明细").Range("c" & a + start)
Sheets("标签页打印").Cells(i + 3, j + 1) = Sheets("固定资产明细").Range("d" & a + start)
Sheets("标签页打印").Cells(i + 4, j + 1) = Sheets("固定资产明细").Range("e" & a + start)
End Sub
在标签打印页创建一个打印按钮,并且编辑打印按钮触发的代码
Private Sub CommandButton1_Click()
Dim i As Integer
Dim j As Integer
Dim num As Integer
Dim t As Integer
Dim a As Integer
清除
num = InputBox("请输入打印标签数量:")
For a = 1 To num
i = ((a - 1) \ 3) * 6 + 1
t = a Mod 3
If t = 1 Then
j = 1
ElseIf t = 2 Then
j = 5
ElseIf t = 0 Then
j = 9
End If
Call 标签模板(i, j)
Call 标签打印(a, i, j)
Next
End Sub
这是我第一次用VBA做的实际应用,其中的代码是我根据Java开发的经验,参照VBA的语法来实现的,希望能作为参考
文章浏览阅读2.8k次,点赞10次,收藏56次。在现代通信领域中,大多数的信道因具有带通特性而不能直接传送基带信号,为了使数字信号能在带通信道中传输,必须用数字基带信号对载波进行调制,以使信号与信道的特性相匹配。二进制相移键控(BSPK)、正交相移键控(QPSK)、偏置正交相移键控(OQPSK)是重要的调制方式,被广泛地应用于现代通信的各个领域。_fpga实现bpsk调制
文章浏览阅读3.1k次,点赞2次,收藏24次。编写一个 函数把华氏温度转化为 摄氏温度,转换公式:C=(F-32)*5/9//编写一个 函数把华氏温度转化为 摄氏温度,转换公式:C=(F-32)*5/9#include<iostream>#include<cmath>using namespace std;double Transform(double F) { return (F - 32) * 5 / 9;}int main() { double F; cout << "请输入华氏._编写一个函数,将华氏温度转换为摄氏温度。公式为c=(f-32)×5/9。
文章浏览阅读7k次,点赞2次,收藏19次。一:下载海康JAVA-DEMO我开发环境是window10-64位 IDEA JDK1.8 的 和 mac IDEA JDK1.8 demo下载地址 https://www.hikvision.com/cn/download_more_570.html1:下载完成以后,必须认真看完这个txt,不然后面可能会出现“dll缺失”和“sdk文件不存在”这种异常2:sdk使用手册【必看】二:摄像设备ip,通道查看海康摄像头设备的录像文件一般都是存储在录像机,找出录像机的ip及账号密码在最新版IE11_海康威视 java sdk web 预览
文章浏览阅读556次。Ubuntu执行mkfs.ubifs、ubinize文件失败解决_ubinize: error!: no sections found the ini-file "bin/ubinize.cfg
文章浏览阅读1.1k次,点赞32次,收藏19次。QML 中的属性property是一个重要的概念,用于定义和访问QML对象的数据。在QML中,属性可以是各种类型,包括基本数据类型(如int, double, string)和复杂类型(如对象和列表)。属性在QML中可用于数据绑定、事件处理和界面更新。_qml q_property 怎么用
文章浏览阅读2.6k次。查询Oracle正在执行的sql语句及执行该语句的用户SELECT b.sid oracleID,b.username 登录Oracle用户名,b.serial#,spid 操作系统ID,paddr,sql_text 正在执行的SQL,b.machine 计算机名FROM v$process a, v$session b, v$sqlarea cWHERE a.addr = b.paddrAND ..._oracle查看接收的sql参数
文章浏览阅读2.5w次,点赞5次,收藏36次。需要热加载的bean需要加上@RefreshScope注解,当配置发生变更的时候可以在不重启应用的前提下完成bean中相关属性的刷新。经由@RefreshScope修饰的bean将会被RefreshScope代理,其关于bean生命周期的相关方法也在此定义。@ManagedOperation(description = "Dispose of the current instanc..._spring refresh 热部署
文章浏览阅读388次。抓取到的内容在通过正则表达式做一下过滤就得到了你想要的内容,至于如何用正则表达式过滤,在这里就不做介绍了,有兴趣的,以下就是几种常用的用php抓取网页中的内容的方法。1.file_get_contentsPHP代码复制代码代码如下:$url="http://www.jb51.net";$contents=file_get_contents($url);//如果出现中文乱码使用下面代码//$getc..._php正则截取file_get_contents里的域名
文章浏览阅读1.4k次。本篇文章将详细介绍Android与PHP的交互,实际上就是利用http进行通信的过程,通过Get方法和Post方法,实现数据传输,文件传输,博主在真机上进行了实测,并附上了源码的链接。_用php开发android系统usb通信
文章浏览阅读2w次,点赞10次,收藏40次。搜索热词好久不用oracle了,突然忘记怎么导入数据了。今天再记录一下吧。1、建表。目的是:被导入到数据的存储位置。因为数据库中曾经有过相同表结构的表,所以直接使用sql建表。sql">-- t_sdh_cc表create table t_sdh_cc as select * from t_sdh_cc_hn_cxh where 1=0;@H_404_7@2、建好表后,开始导入数据。2...._plsql导入csv
文章浏览阅读607次。Our Microdrive data recovery service recovers lost, deleted or damaged photographic images, videos or data from any type of Microdrive. Our recovery specialists are able to un-delete Microdrive file_which may indicate disk corruption.
文章浏览阅读3k次。android 权限 permission_adb 给app授权