📄 module1.bas
字号:
Attribute VB_Name = "Module1"
Public newis As Integer ''判断评价类型
Public flag(4) As Integer ''判断窗体加载类型
''<<<邹威 design the New FrmPrv,FrmListoutput,Frmfengmian,FrmQita>>>
' <<< Others are 王清河 designed>>>
Public Const DongTai = 10#
'Public zwdatabasename(20, 2) As String '用于login时从数据文件读入库名文件!
Public FileNameTemp As String 'export to xls,txt,htm's name 'left(*,4)'
Public zwijk As Integer 'zwdatabasename数组已经付值了多少个数
Public nIndex As Integer '记录登录数据库是第几个索引值
Public ZwStringGrid As String 'Printpreview the data
Public Zwfilename As String
Public ZwTxtName As String
Public CellOrPic As Boolean ' the symbol of printpreview data or picture
Public Zwfilepathdat As String
Public ZwfileQiTaPathdat As String
Public zwflag As Boolean '定义无EXCEL的标志
Public VarWeiHuFeiBiLi As Double '油田维护费比例
Public VarChuLiangFeiBiLi As Double '储量使用费比例
Public VarCaiWuFeiBiLi As Double '增量财务费比例
Public EditingList As String '正在编辑的数据库表
Public OpeningDatabase As String '正在使用的数据库
Public workpath As String '工作路径
Public workname As String '工作文件
Public filename$
Public workname1(1 To 2, 10) As String '工作路径
Public VarZwMInGan(1 To 8, 1 To 20) As Single '敏感图四组数据
Public VarShengCheng(1 To 20, 1 To 8) As Double '生成数据数组
Public TotalJianSheLiXi As Double '建设期贷款利息总额
Public VarGuanliFei(1 To 20) As Double '管理费数组
Public VarXiaoShouFei(1 To 20) As Double '销售费数组
Public VarXiaoShouShouRu(1 To 20) As Double '销售收入数组
Public VarCaiWuFei(1 To 20) As Double '财务费数组
Public VarZheJiuFei(1 To 20) As Double '折旧费数组
Public VarChuLiangFei(1 To 20) As Double '储量使用费数组
Public VarGongZiFei(1 To 20) As Double '职工工资数组
Public VarFuLiFei(1 To 20) As Double '福利数组
Public VarCostList1Total(1 To 20) As Double '成本表一合计(横向)
'******************* 以上为成本表1的输出项 ***********************************
Public VarXiuliFei(1 To 20) As Double '修理费数组
Public VarCaiLiaoFei(1 To 20) As Double '材料费数组
Public VarDongliFei(1 To 20) As Double '动力费数组
Public VarRanLiaoFei(1 To 20) As Double '燃料费数组
Public VarQingShuiFei(1 To 20) As Double '清水费数组
Public VarWuShuiFei(1 To 20) As Double '污水处理费数组
Public VarJieShengFei(1 To 20) As Double '节省污水处理费数组
Public VarYouQiFei(1 To 20) As Double '油气处理费数组
Public VarWeiHuFei(1 To 20) As Double '油田维护费数组
'Public Varyaojifei(1 To 20) As Double
Public vartanxiao(1 To 20), varbuchang(1 To 20) As Double
Public VarCostList2Total(1 To 20) As Double '成本表二合计(横向)
'********************** 以上为成本表2的输出项 *********************************
'修理费'材料费'动力费'燃料费'清水费'污水处理费'节省污水处理费'油气处理费'油田维护费
Public VarZiYuanShui(1 To 20) As Double '资源税数组
Public VarZengZhiShui(1 To 20) As Double '增值税数组
Public VarChengJianShui(1 To 20) As Double '城建税数组
Public VarZongShui(1 To 20) As Double '总税数组
Public VarJiaoYuShui(1 To 20) As Double '教育税数组
'********************** 以上为总税额表的输出项 *********************************
Public VarHuaXueJiFei(1 To 20, 1 To 5) As Double '化学剂费数组
Public Varyaojifei(1 To 20) As Double '药剂费数组
Public VarZongChengBenFei(1 To 20) As Double '总成本数组
Public VarZongJingYingChengBenFei(1 To 20) As Double '总经营成本数组
Public VarJingYingChengBenFei(1 To 20) As Double '经营成本数组
'********************** 以上为成本表三(药剂费)的输出项 *********************************
Public VarGongChengFei(1 To 20) As Double '三采工程费
Public VarYuBeiFei(1 To 20) As Double '预备费用
Public VarGuDingZiChanTouZi(1 To 20) As Double '固定资产投资
'Public VarLiuDongZiJin(1 To 3) As Double '流动资金
Public VarJianSheLiXi(1 To 20) As Double '建设期贷款利息
Public VarTouZiZongE(1 To 20) As Double '投资总额
Public VarJieDaiZongE(1 To 20) As Double '借贷总额
Public varzchbl(1 To 20) As Double
Public varzchnl(1 To 20) As Double
Public vardkbl(1 To 20) As Double
Public vardknl(1 To 20) As Double
'********************** 以上为投资表的输出项 *********************************
'总销售收入 见成本表一
'销售总税额 见总税额表
Public VarChengBenFeiYong(1 To 20) As Double '年成本费用
Public VarLiRunZongE(1 To 20) As Double '年利润总额
Public VarSuoDeShui(1 To 20) As Double '年所得税
Public VarShuiHouLiRun(1 To 20) As Double '年税后利润
Public VarNianDuKuiSun(1 To 20) As Double '弥补以前年度亏损
Public VarGongJiJin(1 To 20) As Double '年提取公积公益金
'********************** 以上为损益表的输出项 *********************************
'VarXiaoShouShouRu(I) '总销售收入 见成本表一
Public VarXianJinLiuRu(1 To 20) As Double '现金总流入
Public VarLiuDongZiJin(1 To 20) As Double '流动资金
'Public VarZongJingYingChengBenFei(1 To 20) As Double '总经营成本数组
'VarZongShui(I) '销售总税额 见总税额表
Public VarXianJinLiuChu(1 To 20) As Double '现金总流出
'********************** 以上为现金表一的输出项 *********************************
Public VarShuiQianJing(1 To 20) As Double '所得税前净现金
Public VarShuiQianLeiJiJing(0 To 20) As Double '所得税前累计净现金
Public VarShuiHouJing(1 To 20) As Double '所得税后净现金
Public VarShuiHouLeiJiJing(0 To 20) As Double '所得税后累计净现金
Public VarShuiQianTie(1 To 20) As Double '所得税前贴现现金
Public VarShuiQianLeiJiTie(0 To 20) As Double '所得税前累计贴现现金
Public VarShuiHouTie(1 To 20) As Double '所得税后贴现现金
Public VarShuiHouLeiJiTie(0 To 20) As Double '所得税后累计贴现现金
'********************** 以上为现金表二(现金流入流出表)的输出项 *********************************
Public VarShuLiang(0 To 32) As Double '技术经济指标汇总表的“数量”
'********************** 以上为技术经济指标汇总表的输出项 *********************************
Public VarHuaXueji(1 To 20, 1 To 11) As Double '化学剂数据数组
Public VarTouZi(1 To 30) As Double '投资数据数组
Public VarQiTa(0 To 37) As Double '其它数据数组
Public VarQiTaFei(1 To 20) As Double '其它费用数组
Public VarPingJiaQi As Byte '评价期
Public VarHNianXian As Byte '化学剂使用年限
Public Sub CostList1Cacul()
Dim ss As Double
Dim i As Integer, h As Integer
On Error Resume Next
sss = 0#: ssss = 0#
For i = 1 To VarPingJiaQi
VarGongChengFei(i) = VarTouZi(i) '三采工程费
VarYuBeiFei(i) = VarGongChengFei(i) * VarQiTa(36) / 100 '预备费用
VarGuDingZiChanTouZi(i) = VarGongChengFei(i) + VarYuBeiFei(i) '固定资产投资
VarJieDaiZongE(i) = VarGongChengFei(i) * varzchbl(i) / 100# + VarLiuDongZiJin(i) * vardkbl(i) / 100#
ssss = ssss + VarGuDingZiChanTouZi(i)
'建设期利息出始化计算
VarJianSheLiXi(i) = VarGongChengFei(i) * varzchbl(i) / 100# * varzchnl(i) / 100# + VarLiuDongZiJin(i) * vardkbl(i) / 100# * vardknl(i) / 100#
sss = sss + VarJianSheLiXi(i)
Next i
TotalJianSheLiXi = sss '建设期贷款总利息
For i = 1 To VarPingJiaQi '投资总额
VarTouZiZongE(i) = VarGuDingZiChanTouZi(i) + VarLiuDongZiJin(i) + VarJianSheLiXi(i)
Next i
'******************************** 成本表一 **********************************************
For i = 1 To VarPingJiaQi
'其它开采费
VarQiTaFei(i) = VarQiTa(27) * VarShengCheng(i, 2)
'管理费
'VarQiTa (8) * VarQiTa(28) / 100
vartanxiao(i) = (VarShengCheng(i, 2) * VarShengCheng(i, 3) * VarQiTa(8) / 100) * VarQiTa(29) / 100
varbuchang(i) = (VarShengCheng(i, 2) * VarShengCheng(i, 3) * VarQiTa(8) / 100) * VarQiTa(30) / 100
VarGuanliFei(i) = (VarShengCheng(i, 2) * VarShengCheng(i, 3) * VarQiTa(8) / 100) * (VarQiTa(29) + VarQiTa(30)) / 100 + VarShengCheng(i, 2) * VarQiTa(28) * (VarQiTa(8) / 100)
'销售费
VarXiaoShouShouRu(i) = VarShengCheng(i, 2) * VarShengCheng(i, 3) * VarQiTa(8) / 100 '年销售收入
VarXiaoShouFei(i) = VarXiaoShouShouRu(i) * VarQiTa(31) / 100
VarZheJiuFei(i) = (ssss + TotalJianSheLiXi) * (1 - VarQiTa(14) / 100) / VarQiTa(15)
If i > VarQiTa(15) Then
VarZheJiuFei(i) = 0
End If
'储量使用费
VarChuLiangFei(i) = VarShengCheng(i, 2) * VarQiTa(25)
'增加职工工资
VarGongZiFei(i) = VarShengCheng(i, 8) * VarQiTa(22)
'福利费
VarFuLiFei(i) = VarGongZiFei(i) * VarQiTa(23) / 100
'成本表1合计
'修理费
VarXiuliFei(i) = VarZheJiuFei(i) * VarQiTa(21) / 100
'If i > VarQiTa(15) Then VarXiuliFei(i) = 0
If i > VarHNianXian Then VarXiuliFei(i) = 0
'材料费
VarCaiLiaoFei(i) = VarShengCheng(i, 8) * VarQiTa(16)
'动力费
VarDongliFei(i) = VarShengCheng(i, 4) * VarQiTa(17)
'燃料费
VarRanLiaoFei(i) = VarShengCheng(i, 4) * VarQiTa(18)
'清水费
VarQingShuiFei(i) = VarShengCheng(i, 5) * VarQiTa(19) '万元
'污水处理费
VarWuShuiFei(i) = VarShengCheng(i, 6) * VarQiTa(20)
'节省污水处理费
VarJieShengFei(i) = VarShengCheng(i, 7) * VarQiTa(20)
'油气处理费
VarYouQiFei(i) = VarShengCheng(i, 2) * VarQiTa(26)
'油田维护费
VarWeiHuFei(i) = VarShengCheng(i, 2) * VarQiTa(24)
Next i
'******************************** (药剂费) **********************************
'化学剂费用
For i = 1 To VarPingJiaQi
For kk = 1 To 5
' MsgBox VarHuaXueJiFei(i, KK)
VarHuaXueJiFei(i, kk) = VarHuaXueji(i, 2 * kk) * VarHuaXueji(i, 2 * kk + 1)
Next kk
Next i
'******************************** 总税额表 **********************************************
For i = 1 To VarPingJiaQi
'资源税数组
VarZiYuanShui(i) = VarShengCheng(i, 2) * VarQiTa(10) * VarQiTa(8) / 100 '乘上原油商品率
'增值税数组
VarZengZhiShui(i) = VarXiaoShouShouRu(i) * VarQiTa(11) / 100
'城建税数组
VarChengJianShui(i) = VarZengZhiShui(i) * VarQiTa(12) / 100
'教育税数组
VarJiaoYuShui(i) = VarZengZhiShui(i) * VarQiTa(13) / 100
'总税数组
'VarZongShui(i) = VarZiYuanShui(i) + VarZengZhiShui(i) + VarChengJianShui(i) + VarJiaoYuShui(i)
VarZongShui(i) = VarZiYuanShui(i) + VarChengJianShui(i) + VarJiaoYuShui(i) + VarZengZhiShui(i) '不要增值税
Next i
'For I = 1 To VarPingJiaQi
' MsgBox I & "=" & VarQiTaFei(I)
'Next I
' VarXiuliFei(1) = 0'修改部分
For i = 1 To VarPingJiaQi
ss = 0
For k = 1 To 5
ss = ss + VarHuaXueJiFei(i, k)
Next k
Varyaojifei(i) = ss
Next i
' VarCaiWuFei(1) = VarQiTa(37) '''''* VarCaiWuFeiBiLi / 100 'zw 财务费=增量财务使有费*其比例
For i = 1 To VarPingJiaQi
VarCaiWuFei(i) = VarQiTa(37) * VarShengCheng(i, 2) 'VarCaiWuFei(i) + VarQiTa(37) * VarCaiWuFeiBiLi / 100 'zw 财务费=增量财务使有费*其比例
Next i
'总经营成本
For i = 1 To VarPingJiaQi
ss = 0#
ss = ss + VarCaiLiaoFei(i) + VarDongliFei(i) + VarRanLiaoFei(i) '材料费,动力费,燃料费
ss = ss + VarGuanliFei(i) + VarQingShuiFei(i) + VarWuShuiFei(i) - VarShengCheng(i, 2) * VarShengCheng(i, 3) * VarQiTa(8) / 100 * (VarQiTa(29) / 100) '管理费,清水费,污水费
ss = ss + VarQingShuiFei(i) + VarWuShuiFei(i)
ss = ss + VarXiaoShouFei(i) + VarYouQiFei(i) ' + VarCaiWuFei(I) '销售费,油气费,财务费 '不含财务费
ss = ss + VarGongZiFei(i) + VarFuLiFei(i) + VarXiuliFei(i) + VarQiTaFei(i) + VarWeiHuFei(i) + VarChuLiangFei(i)
'==其它费,职工工资,福利费,修理费,油田维护费
ss = ss + Varyaojifei(i) '药剂费
'VarWeiHuFeiBiLi = 50: VarChuLiangFeiBiLi = 10
'ss = ss + (VarWeiHuFeiBiLi / 100#) * VarQiTa(24)
'ss = ss + (VarChuLiangFeiBiLi / 100#) * VarQiTa(25)
If i <> 1 Then
VarZongJingYingChengBenFei(i) = ss
Else
ss = ss + VarCaiWuFeiBiLi * VarQiTa(37) / 100
VarZongJingYingChengBenFei(i) = ss
End If
If VarShengCheng(i, 2) > 0 Then
'VarJingYingChengBenFei(i) = ss / VarShengCheng(i, 2)
Else
VarJingYingChengBenFei(i) = -1
End If
Next i
ss = 0
For i = 3 To 5
ss = ss + VarZongJingYingChengBenFei(i)
Next i
For IntLoop = 1 To VarPingJiaQi '成本表一合计(横向)
ss = 0
ss = ss + VarGuanliFei(IntLoop)
ss = ss + VarXiaoShouFei(IntLoop)
ss = ss + VarCaiWuFei(IntLoop)
VarCostList1Total(IntLoop) = ss ''财务费到销售费的和
Next IntLoop
For IntLoop = 1 To VarPingJiaQi '成本表二合计(横向)
ss = 0
ss = ss + VarXiuliFei(IntLoop)
ss = ss + VarCaiLiaoFei(IntLoop)
ss = ss + VarDongliFei(IntLoop)
ss = ss + VarRanLiaoFei(IntLoop)
ss = ss + VarQingShuiFei(IntLoop)
ss = ss + VarWuShuiFei(IntLoop)
'ss = ss + VarJieShengFei(IntLoop)
ss = ss + VarYouQiFei(IntLoop)
ss = ss + VarWeiHuFei(IntLoop)
ss = ss + VarZheJiuFei(IntLoop)
ss = ss + VarChuLiangFei(IntLoop)
ss = ss + VarGongZiFei(IntLoop)
ss = ss + VarFuLiFei(IntLoop)
ss = ss + VarQiTaFei(IntLoop) ' 加上了其它开采费,但数据表中有显示
VarCostList2Total(IntLoop) = ss '开采成本费用
Next IntLoop
Dim SuoDeshuiMark As Integer
SuoDeshuiMark = 2
VarSuoDeShui(1) = 0#
VarSuoDeShui(2) = 0#
ttttt = 0#
For i = 1 To VarPingJiaQi
'******************************** 损益表 **********************************************
'VarXiaoShouShouRu(I) '总销售收入计算见成本表一
'VarZongShui(I) '总税额计算见总税额表
'成本费用
VarChengBenFeiYong(i) = VarCostList1Total(i) + VarCostList2Total(i) + Varyaojifei(i)
'利润总额
VarLiRunZongE(i) = VarXiaoShouShouRu(i) - VarZongShui(i) - VarChengBenFeiYong(i) - VarZengZhiShui(i)
ttttt = ttttt + VarLiRunZongE(i)
If ttttt < 0 Then SuoDeshuiMark = i
'所得税
''zw 6-19 VarLiRunZongE(i) = VarXianJinLiuRu(i) - VarXianJinLiuChu(i)
'Public VarXianJinLiuRu(1 To 20) As Double '现金总流入
'Public VarXianJinLiuChu(1 To 20) As Double '现金总流出
Next i
'If VarLiRunZongE(i) < 0 Then
'SuoDeshuiMark = i + 2
'SuoDeshuiMark = i
For h = 1 To SuoDeshuiMark
VarSuoDeShui(h) = 0#
VarShuiHouLiRun(h) = VarLiRunZongE(h) - VarSuoDeShui(h)
'弥补以前年度亏损
VarNianDuKuiSun(h) = 0# '????????????????
'提取公积公益基金
VarGongJiJin(h) = 0# '??????????????????????
Next h
For i = SuoDeshuiMark + 1 To VarPingJiaQi
VarSuoDeShui(i) = VarLiRunZongE(i) * VarQiTa(35) / 100
'税后利润
VarShuiHouLiRun(i) = VarLiRunZongE(i) - VarSuoDeShui(i)
'弥补以前年度亏损
VarNianDuKuiSun(i) = 0# '????????????????
'提取公积公益基金
VarGongJiJin(i) = 0# '?????????????????????????????
Next i
'******************************** 现金流表一 **********************************************
For i = 1 To VarPingJiaQi
'VarXiaoShouShouRu(I) '总销售收入计算见成本表一
'VarZongShui(I) '总税额计算见总税额表
'现金总流入
VarXianJinLiuRu(i) = VarXiaoShouShouRu(i) + VarJieShengFei(i)
'流动资金
'经营成本
'销售税金=销售总税额
'现金总流出
VarXianJinLiuChu(i) = VarGuDingZiChanTouZi(i) + VarLiuDongZiJin(i) + VarZongJingYingChengBenFei(i) + VarZongShui(i)
Next i
'现金总流入 若是最后一年,要加上“回收固定资产”和“回收流动资金”
'VarXianJinLiuRu(VarHNianXian) = VarXianJinLiuRu(VarHNianXian) + VarQiTa(33)
VarXianJinLiuRu(VarPingJiaQi) = VarXianJinLiuRu(VarPingJiaQi) + VarQiTa(32) + VarQiTa(33)
'******************************** 现金流表二 **********************************************
VarShuiQianLeiJiJing(0) = 0
VarShuiHouLeiJiJing(0) = 0
VarShuiQianLeiJiTie(0) = 0
VarShuiHouLeiJiTie(0) = 0
For i = 1 To VarPingJiaQi
VarShuiQianJing(i) = VarXianJinLiuRu(i) - VarXianJinLiuChu(i) '所得税前净现金流
VarShuiQianLeiJiJing(i) = VarShuiQianJing(i) + VarShuiQianLeiJiJing(i - 1) '所得税前累计净现金流
VarShuiHouJing(i) = VarShuiQianJing(i) - VarSuoDeShui(i) '所得税后净现金流
VarShuiHouLeiJiJing(i) = VarShuiHouJing(i) + VarShuiHouLeiJiJing(i - 1) '所得税后累计净现金流
VarShuiQianTie(i) = VarShuiQianJing(i) / (Power(1 + VarQiTa(34) / 100, i - 1)) '所得税前贴现现金流
VarShuiHouTie(i) = VarShuiHouJing(i) / (Power(1 + VarQiTa(34) / 100, i - 1)) '所得税后贴现现金流
VarShuiQianLeiJiTie(i) = VarShuiQianTie(i) + VarShuiQianLeiJiTie(i - 1) '所得税前累计贴现现金流
VarShuiHouLeiJiTie(i) = VarShuiHouTie(i) + VarShuiHouLeiJiTie(i - 1) '所得税后累计贴现现金流
Next i
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -