Excel VBA实现的最全的单位换算(操作方便)
在企业和工厂中,会经常使用Excel来进行工程造价评估或项目预算,在这个过程中,免不了要进行单位的转换,但不同的行业,不同的职业,不同的企业,单位转换的需求都不太一样,有没有一个大而全的单位转换工具,而且操作方便快捷呢。Office中国就给你找了一个,以后转换再也不用在网上搜来搜去,也不用手工转换了。在Excel里随时转换。
单位换算:单位换算,是指同一性质的不同单位之间的数值换算。常用的单位换算有长度单位换算、重量单位换算、压力单位换算、面积单位换算、电容单位换算等。
一般 包括哪些转换呢:
1 长度
2 面积
3 体积
4 质量
5 密度
6 运动粘度
7 克拉
8 动力粘度
9 力
10 压强
11 温度
12 传热系数
13 热导率
14 比热容
15 热功
16 功率
17 速度
18 渗透率
19 地温梯度
20 油气产量
21 气油比
22 热值
23 热当量
24 数据存储
25 磁场
26 常用单位
示例中有些转换可能不一定包罗所有,但你可以根据需要添加自己的数据
先上个图看看效果:
再看看Excel 单位转换的操作动画:
Excel VBA实现单位换算的原理:
首先需要建立一个用户窗体UserForm1
在里面建立相应的几个列表框 搜索文本框等控件
换算数据放在Sheet1里面(在操作视频可看到Sheet1里的内容)
然后在用户窗体里写下以下相关VBA代码:
Dim cn As ADODB.Connection
Private Sub ListBox1_Click()
On Error Resume Next
ListBox2.Clear
TextBox5.Text = ""
Dim sql$
Dim sql2$
If VBA.IsNull(ListBox1.Value) Or ListBox1.Value = "" Then
kk = ListBox1.List(0)
Else
kk = ListBox1.Value
End If
sql2 = "select * from [Sheet1$a1:c30000] where [名称]='" & kk & "'"
Set TMP3 = cn.Execute(sql2)
b = TMP3.Fields(2)
sql = "select * from [Sheet1$a1:c30000] where [组]='" & TMP3.Fields(0) & "'"
Set TMP4 = cn.Execute(sql)
Do While Not TMP4.EOF
If VBA.Left(TMP4.Fields(2) * TextBox3.Value / b, 1) = "." Then
ListBox2.AddItem "0" & TMP4.Fields(2) * TextBox3.Value / b & " " & TMP4.Fields(1)
Else
ListBox2.AddItem TMP4.Fields(2) * TextBox3.Value / b & " " & TMP4.Fields(1)
End If
TMP4.MoveNext
Loop
Label2.Caption = ListBox1.Text
End Sub
Private Sub ListBox2_Click()
TextBox5.Text = ListBox2.Text
End Sub
Private Sub TextBox3_Change()
ListBox1_Click
End Sub
Private Sub TextBox4_Change()
tb = "%" & TextBox4.Text & "%"
ListBox1.Clear
ListBox2.Clear
Dim sql$
sql = "select * from [Sheet1$a1:c30000] where [名称] like '" & tb & "'"
Set TMP2 = cn.Execute(sql)
Do While Not TMP2.EOF
ListBox1.AddItem TMP2.Fields(1)
TMP2.MoveNext
Loop
End Sub
Private Sub unitlist_Click()
ListBox1.Clear
ListBox2.Clear
Dim sql$
If unitlist.Text = "All" Then
sql = "select * from [Sheet1$a1:c30000] "
Else
sql = "select * from [Sheet1$a1:c30000] where [组]='" & unitlist.Text & "'"
End If
Set TMP2 = cn.Execute(sql)
Do While Not TMP2.EOF
ListBox1.AddItem TMP2.Fields(1)
If unitlist.Text <> "All" Then
If TMP2.Fields(2) * TextBox3.Value < 1 Then
ListBox2.AddItem "0" & TMP2.Fields(2) * TextBox3.Value & " " & TMP2.Fields(1)
Else
ListBox2.AddItem TMP2.Fields(2) * TextBox3.Value & " " & TMP2.Fields(1)
End If
End If
TMP2.MoveNext
Loop
Label2.Caption = ListBox1.Text
End Sub
Private Sub UserForm_Initialize()
Set cn = CreateObject("adodb.connection")
cn.Open "provider=microsoft.jet.oledb.4.0;extended properties='excel 8.0;imex=1';data source=" & ThisWorkbook.FullName
Dim sql$
sql = "select distinct [组] from [Sheet1$a1:c30000] "
unitlist.AddItem "All"
Set TMP1 = cn.Execute(sql)
Do While Not TMP1.EOF
unitlist.AddItem TMP1.Fields(0)
TMP1.MoveNext
Loop
End Sub
Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer)
On Error Resume Next
cn.Close
End Sub
其它更多的单位换算关系可参考以下内容:
长度编辑
1千米(km)= 0.621英里(mile)
1米(m)= 3.281英尺(ft)= 1.094码(yd)
1丝米(dmm)=1忽米(cmm)=1丝=0.01毫米=0.001厘米
1厘米(cm)= 0.394英寸(in)
1厘米(cm)=10毫米(mm)
1,000,000,000纳米 = 1米(m)
1,000,000纳米 = 1毫米(mm)
1,000纳米 = 1微米(μm)
1纳米 = 10 埃米(记为Å)
1埃米=10^-10m
1埃(Å)= 0.1纳米(nm)
1英里(mile)= 1.609千米(km)
1英寻(fm)= 1.829米(m)
1英尺(ft)= 0.3048米(m)
1英寸(in)= 2.54厘米(cm)
1海里(n mile)= 1.852千米(km)
1链= 66英尺(ft)= 20.1168米
1码(yd)= 0.9144米(m)
1密耳(mil)= 0.0254毫米(mm)
1英尺(ft)= 12英寸(in)
1码(yd)= 3英尺(ft)
1杆(rad)= 16.5英尺(ft)
1英里(mile)= 5280英尺(ft)
1海里(n mile)= 1.1516英里(mile)
市制计量单位:
1里=150丈
1丈=10尺
1尺=10寸
1寸=10分
1分=10厘
1厘=10毫
面积编辑
法制计量单位
1平方公里(km²)= 100公顷(ha)= 247.1英亩(acre)= 0.386平方英里(mile²)
1平方米(m²)= 10.764平方英尺(ft²)
1公亩(are)= 100平方米(m²)
1公顷(ha)=15亩=1hm²=10000平方米(m²)= 2.471英亩(acre)=0.01平方千米
(其中h表示百米,hm²的含义就是百米的平方)
1平方英里(mile²)= 2.590平方公里(km²)
1英亩(acre)= 0.4047公顷(ha)= 4.047×10平方公里(km²)= 4047平方米(m²)
1平方英尺(ft²)= 0.093平方米(m²)
1平方英寸(in²)= 6.452平方厘米(cm²)
1平方码(yd²)= 0.8361平方米(m²)
1亩=2000/3平方米≈666.666平方米
市制计量单位
1平方里=22500平方丈
1平方丈=100平方尺
1平方尺=100平方寸
1平方寸=100平方分
1平方分=100平方厘
1平方厘=100平方毫
体积编辑
法制计量单位
1立方米(m³)=1000升(liter)= 1000立方分米(dm³)
1立方分米=1000立方厘米
1立方厘米=1000立方毫米
英美式计量单位
1立方英尺(ft³)= 0.0283立方米(m³)= 28.317升(liter)
1千立方英尺(mcf)= 28.317立方米(m³)
1百万立方英尺(MMcf)=2.8317万立方米(m³)
10亿立方英尺(bcf)= 2831.7万立方米(m³)
1万亿立方英尺(tcf)= 283.17亿立方米(m³)
1立方英寸(in³)= 16.3871立方厘米(cm³)
1英亩·英尺=1234立方米(m³)
1桶(bbl)= 0.159立方米(m³)= 42美加仑(gal)
1美加仑(gal)= 3.785升(l)
1美夸脱(qt)= 0.946升(l)
1美品脱(pt)= 0.473升(l)
1美吉耳(gi)= 0.118升(l)
1英加仑(gal)= 4.546升(l)
中国古代计量单位
1石(dàn) = 10斗(dǒu)
1斛(hú) = 本为10斗,后来改为5斗
1斗(dǒu) = 10升
1龠(yuè) = 0.5合(gě)
1升 = 10合(gě)
质量编辑
1吨(t)= 1000千克(kg)= 2205磅(lb)= 1.102短吨(sh.ton)= 0.984长吨(long ton)
1千克(kg)= 2.205磅(lb)
1克(g)=0.001千克(kg)
1毫克(mg)=0.001克(g)
1短吨(sh.ton)= 0.907吨(t)= 2000磅(lb)
1长吨(long ton)= 1.016吨(t)
1磅(lb)= 0.454千克(kg)[常衡]
1盎司(oz)= 28.350克(g)
古代:
10圭 = 钧 = 30斤
24铢 = 两
6铢 = 1锱(zī)
4锱(zī) = 1两
1担(古同:儋dàn)(dàn) = 100公斤
1斤 = 16两(古代) = 1.6斤(现代)
锊(lüè) = 333.333333克【合六又三分之二两】
密度编辑
1千克/立方米(kg/m³)= 0.001克/立方厘米(g/cm³)= 0.0624磅/立方英尺(lb/ft³)
1磅/立方英尺(lb/ft³)= 16.02千克/立方米(kg/m³)
1磅/立方英寸(lb/in³)= 27679.9千克/立方米(kg/m³)
1磅/立方美加仑(lb/gal³)= 119.826千克/立方米(kg/m³)
1磅/立方英加仑(lb/gal³)= 99.776千克/立方米(kg/m³)
1磅/立方(石油)桶(lb/bbl³)= 2.853千克/立方米(kg/m³)
1波美密度(B)=140/15.5℃时的比重-130
API度=141.5/15.5℃时的比重-131.5
运动粘度编辑
1斯(St)= 1平方米/秒(m²/s)
1厘斯(cSt)= 1平方毫米/秒(mm²/s)
克拉编辑
1907年国际商定一种长角豆树的种子克拉作为珠玉、钻石等宝石的计量单位。因为这种克拉重量惊人的一致,重量多在200毫克左右,规定1克拉钻石固定等于0.2克,而1克拉又可以分为100分,所以1克拉=0.2克=200毫克=100分,30分钻石自然是0.06克。国内检测机构钻石重量通常是保留小数点后三位数,也就是说如果一粒钻石重量为0.599ct。而国际钻石市场上通常小数点后两位的,第三位是逢九进一,而不是四舍五入,国际证书上会标0.60ct,计价通常会以十分为一个单位:20-29分,50-59分。对于整数位的分数,钻石的价格之间存在着 “克拉溢价”现象,即使只有1分之差,99分与1克拉的价位也相去甚远。
下面是钻石行业用于换算克拉钻的表
1克(g)=5克拉(ct)
1克拉(ct)=0.2克(g)
1克拉(ct)=100分(point)
1分(point)=0.01克拉(ct)
1克拉(ct)=4格令(gr)
1格令(gr)=0.25克拉(ct)
1千克(kg)=32.15金衡盎司()
1克(g)=0.03215盎司()
1金衡盎司()=31.1035克(g)
1金衡盎司()=480格令(gr)
动力粘度编辑
1泊(P)=100
毫帕·秒(mPa·s)
1厘泊(cP or CPS,centipoise)= 1毫帕·秒(mPa·s)
1千克力秒/米²(kgf·s/m²) = 9.80665帕·秒(Pa·s)
1磅力秒/英尺(lb/ft·s)=1.4881帕·秒(Pa·s)
力编辑
1牛顿(N)=0.225磅力(lbf)= 0.102千克力(kgf)
1千克力(kgf)= 9.81牛(N)
1磅力(lbf)= 4.45牛顿(N)
1牛顿(N)=10^5达因(dyn)
压强编辑
1巴(bar)= 100千帕(kPa)
1千帕(kPa)= 0.145磅力/平方英寸(psi²) = 0.0102千克力/平方厘米(kgf/cm²) = 0.0098大气压(atm)
1磅力/英寸(psi)= 6.895千帕(kPa) = 0.0703千克力/厘米(kg/cm)=0.0689巴(bar)= 0.068大气压(atm)
1物理大气压(atm)= 101.325千帕(kPa)= 14.696磅/英寸(psi)= 1.0333巴(bar)
1工程大气压= 98.0665千帕(kPa)
1毫米水柱(mmH2O)= 9.80665帕(Pa)
1毫米汞柱(mmHg)= 133.322帕(Pa)
1托(Torr) = 133.322帕(Pa)
1达因/平方厘米(dyn/cm²)= 0.1帕(Pa)
温度编辑
K=5/9(°F+459.67) K = ℃+273.15
n°F= [(n-32)×5/9]℃ n℃= (9/5×n+32)°F 1℃= 9/5°F+32°F 1°F=5/9℃-32×5/9℃
F=9/5C+32,或C=5/9(F-32)
传热系数编辑
1千卡/(米·时·℃)〔1kcal/(m·h·℃)〕=1.16279瓦/(米·开尔文)〔w/(m·K)〕
1英热单位/(英尺·时·°F)〔Btu/(ft·h·°F)〕= 1.731瓦/(米·开尔文)〔(w/m·K)〕
1米·时·℃/千卡(m·h·℃/kcal) = 0.86000米·开尔文/瓦(m·K/W)
1千卡/米·时(kcal/m·h)= 1.16279瓦/米(w/m)
热导率编辑
1千卡(米·时·℃)〔kcal/(m·h·℃)〕=1.16279瓦/(米·开尔文)〔W/(m·K)〕
1英热单位/(英尺·时·°F)〔But/(ft·h·°F)〕=1.7303瓦/(米·开尔文)〔W/(m·K)〕
比热容编辑
1千卡/(千克·℃)〔kcal/(kg·℃)〕=1英热单位/(磅·°F)〔Btu/(lb·°F)〕
=4186.8焦耳/(千克·开尔文)〔J/(kg·K)〕
热功编辑
1焦耳=0.10204千克·米=2.778×10^-7千瓦·小时=3.777×10公制马力小时
=3.723×10英制马力小时=2.389×10千卡= 9.48×10英热单位
1卡(cal)= 4.1868焦耳(J) 1大卡= 4186.75焦耳(J)
1英热单位(Btu)=1055.06焦耳(J)
1千克力米(kgf·m)= 9.80665焦耳(J)
1英尺磅力(ft·lbf)= 1.35582焦耳(J)
1米制马力小时(hp·h)= 2.64779×10焦耳(J)
1英马力小时(UKHp·h)= 2.68452×10焦耳
1千瓦小时(kW·h)= 3.6×10^6焦耳(J)
功率编辑
1千克力·米/秒(kgf·m/s)= 9.80665瓦(w)
1米制马力(hp)= 735.499瓦(W)
1卡/秒(cal/s)=4.1868瓦(W)
1英热单位/时(Btu/h)= 0.293071瓦(W)
1千瓦(kW)= 3.6×10^6焦耳(J)/小时(h)
速度编辑
1英尺/秒(ft/s)= 0.3048米/秒(m/s)
1英里/时(mile/h)= 0.44704米/秒(m/s)
1千米/时(km/h)=0.27778米/秒(m/s)
渗透率编辑
1达西=1000毫达西
1平方厘米(cm²)=9.81×10 7达西
地温梯度编辑
1°F/100英尺=1.8℃/100米(℃/m)
1℃/公里=2.9°F/英里(°F/mile)= 0.055°F/100英尺(°F/ft)
油气产量编辑
1桶(bbl)= 0.14吨(t)(原油,全球平均)
1吨(t)= 7.3桶(bbl)(原油,全球平均)
1桶/日(bpd)= 50吨/年(t/a)(原油,全球平均)
1千立方英尺/日(Mcfd)= 28.32立方米/日(m/d)= 1.0336万立米/年(m/a)
1百万立方英尺/日(MMcfd)= 2.832万立方米/日(m/d)= 1033.55万立方米/年(m/a)
10亿立方英尺/日(bcfd)= 0.2832亿立方米/日(m/d)= 103.36亿立方米/年(m/a)
1万亿立方英尺/日(tcfd)= 283.2亿立方米/日(m/d)= 10.336万亿立方米/年(m/a)
气油比编辑
1立方英尺/桶(cu.ft/bbl)= 0.2067立方米/吨(m³/t)
热值编辑
1桶原油=5.8×10^4英热单位(Btu)
1立方米湿气=3.909×10^4英热单位(Btu)
1立方米干气=3.577×10^4英热单位(Btu)
1吨煤= 2.406×10^4英热单位(Btu)
1千瓦小时水电=1.0235×10^4英热(Btu)
(资料来源:美国国家标准局.以上为1990年美国平均热值)
热当量编辑
1桶原油=5800立方英尺天然气(按平均热值计算)
1千克原油=1.4286千克标准煤
1立方米天然气=1.3300千克标准煤
数据存储编辑
8比特=1字节(B)
1024字节=1千字节(KB)
1024千字节=1兆字节(MB)
1024兆字节=1千兆字节(GB)
1024千兆字节=1太字节(TB)
1024太字节=1拍字节(PB)
1024拍字节=1艾字节(EB)
磁场编辑
1特斯拉(T)=10000高斯(Gs)
1奥斯特(Oe)=79.6A/m[1]
1韦伯(wb)=100000000麦克斯韦(Mx)
常用单位编辑
物理量
单位
量纲式
名称
符号
名称
中文简称
国际符号
长度
L
米
米
m
L
面积
A、S
平方米
米
m
L
体积、容积
V
立方米
米
m
L
时间
t
秒
秒
s
T
速度
v
米每秒
米/秒
m/s
LT
加速度
a
米每二次方秒
米/秒
m/s
LT
角速度
w
弧度每秒
弧度/秒
rad/s
T
周期
T
秒
秒
s
T
频率
f、v
赫兹
赫
HZ
T
波长
l
米
米
m
L
质量
m
千克
千克
kg
M
密度
r
千克每立方米
千克/立方米
kg/m³
LM
力
F、f
牛顿
牛
N
LMT
压强
p
帕斯卡
帕
Pa
LMT
动量
p
千克米每秒
千克·米/秒
kg·m/s
LMT
冲量
I
牛顿秒
牛·秒
N·s
LMT
力矩
M
牛顿米
牛·米
N·m
LMT
功、能
W、A、E
焦耳
焦
J
L2MT
功率
P、N
瓦特
瓦
W
L2MT
效率
h
(百分比)
摩擦系数
(比值,无单位)
热力学温度
T
开尔文
开
K
K
摄氏温度
t
摄氏度
度
℃
热量
Q
焦耳
焦
J
LMT
比热容
c
焦耳每千克开尔文
焦/(千克·开)
J/(kg·K)
LT?
熔解热
DfusH
焦耳每千克
焦/千克
J/kg
LT
汽化热
DvapH
焦耳每千克
焦/千克
J/kg
LT
燃烧热
DbH
焦耳每千克
焦/千克
J/kg
LT
生成热
DfH
焦耳每千克
焦/千克
J/kg
LT
内能
U、E
焦耳
焦
J
LMT
物质的量
n
摩尔
摩
mol
N
熵
S
焦耳每开尔文
焦/开
J/K
摩尔质量
M
千克每摩尔
千克/摩
kg/mol
MN
摩尔体积
Vm
立方米每摩尔
米/摩
m/mol
LN
电流
I
安培
安
A
I
电量、电荷
Q、q
库仑
库
C
TI
电势(电位)
V、E
伏特
伏
V
LMTI
电势差(电位差)
U、V
伏特
伏
V
LMTI
电压
U、V
伏特
伏
V
LMTI
电动势
E
伏特
伏
V
LMTI
电阻
R
欧姆
欧
W
LMTI
电导
L
西门子
西
S
电导率
k
西门子每米
西/米
S/m
电场强度
E
牛顿每库仑
牛/库、伏/米
N/C、V/m
LMTI
电容
C
法拉
法
F
LMTI
电容率
(比值,无单位)
磁感应强度
B
特斯拉
特
T
MTI
磁通量
韦伯
韦
Wb
LMTI
电感,自感
L
亨利
亨
H
LMTI
磁导率
亨利每米
亨/米
H/m
LMTI
发光强度
I、IV
坎德拉
坎
cd
J
光通量
V,F
流明
流
lm
J
折射率
n
(比值,无单位)
焦距
f
米
米
m
L
半衰期
T1/2
秒
秒
s
T
结合能
E
焦耳,电子伏特
焦,电子伏
J,(eV)
LMT
声强
I,J
瓦特每平方米
瓦/米
W/m
MT
声强级
贝尔,分贝尔
贝,分贝
Bel,dB
响度
N
宋
宋
Sone
响度级
LN
方
方
phon
可与国际单位制单位并用的我国法定计量单位
中华人民共和国法定计量单位(简称法定单位)是以国际单位制单位为基础,同时选用了一些非国际单位制的单位构成的。
国家选定的非国际单位制的单位,见下表。这些单位都是由于实用中的重要性和专门领域的需要,而得到国际计量委员会认可,可以与国际单位制单位并用的。
量的名称
单位名称
单位符号
与SI单位的关系
时间
分[小]时日,(天)
minhd
1min=60s1h=60min=3600s1d=24h=86400s
[平面]角
度[角]分[角]秒
°′″
1°=(?/180)rad1′=(1/60) °=(?/10800)rad1″=(1/60)′=(?/648000)rad
体积,容积
升
L(l)
1L=1dm=10m
质量
吨原子质量单位
tu 或au
1t=10kg1u≈1.660540×10kg
能
电子伏
eV
1eV≈1.602177×10J
级差
分贝
dB
线密度
特[克斯]
tex
1tex=10kg/m
面积
公顷
hm
1hm=10m
旋转速度
转每分(rpm)
r/min
1r/min=(1/60)s
长度
海里
n mile
1n mile=1852m(只用于航行)