Vba 通用电气(“U2”)。选择 ActiveCell=“=VLOOKUP(A2,eodcpos!B:I,8,FALSE)”购买风险货币标志的设置 Selection.AutoFill Destination:=src.Columns(“U”) 范围(“V2”)。选择 ActiveCell=“=如果(U2=“”长“、”B“、”S“)”购买风险货币标志 Selection.AutoFill Destination:=src.Columns(“V”) 范围(“W2”)。选择 ActiveCell=“=IF(S2“0”、T2/S2“0”)” Selection.AutoFill Destination:=src.Columns(“W”) ''标题 范围(“C1”)。值=“” 范围(“D1”).Value=“产品系列名称” 范围(“E1”).Value=“客户名称” 范围(“F1”).Value=“交易ID” 范围(“G1”).Value=“交易日期” 范围(“H1”).Value=“结算” 范围(“I1”).Value=“源账簿” 范围(“J1”).Value=“PD ID” 范围(“K1”)。值=“远期汇率” 范围(“L1”)。值=“远期汇率” 范围(“M1”).Value=“购买货币” 范围(“N1”)。Value=“卖出货币” 范围(“O1”).Value=“类型名称” 范围(“P1”)。值=“支腿编号” 范围(“Q1”)。值=“持续时间” 范围(“R1”).Value=“期权价值日期” 范围(“S1”).Value=“购买ccy金额” 范围(“T1”).Value=“出售ccy金额” 范围(“U1”).Value=“不适用” 范围(“V1”).Value=“购买风险ccy标志” 范围(“W1”).Value=“卖出买入比率” '示例数据表的标题 范围(“A1”).Value=“产品系列名称” 范围(“B1”).Value=“客户名称” 范围(“C1”).Value=“交易ID” 范围(“D1”)。值=“修订号” 范围(“E1”).Value=“交易日期” 范围(“F1”).Value=“结算日期” 范围(“G1”).Value=“账簿管理器” 范围(“H1”).Value=“腿状态类型名称” 范围(“I1”).Value=“支腿编号” 范围(“J1”).Value=“航段持续时间代码” 范围(“K1”)。值=“即期汇率” 范围(“L1”)。值=“直接利率” 范围(“M1”).Value=“购买货币代码” 范围(“N1”).Value=“卖出货币代码” 范围(“O1”).Value=“购买货币金额” 范围(“P1”).Value=“卖出货币金额” 范围(“Q1”).Value=“买入风险货币标志” 范围(“R1”).Value=“期权价值日期” 范围(“S1”).Value=“卖出买入比率” '从文件工作表复制数据 ws3.Columns(4).复制目标:=工作表(“示例文件”).Columns(1) ws3.Columns(5).复制目标:=工作表(“示例文件”).Columns(2) ws3.Columns(6).复制目标:=工作表(“示例文件”).Columns(3) src.栏(“D”)=“1”硬编码修订号 ws3.Columns(7).复制目标:=工作表(“示例文件”).Columns(5) ws3.Columns(8).复制目标:=工作表(“示例文件”).Columns(6) ws3.Columns(9).复制目标:=工作表(“示例文件”).Columns(7) src.Columns(“H”)=“LIVE”硬编码类型名称 src.列(“I”)=“1”硬编码段编号 src.Columns(“J”)=“S”硬代码段持续时间代码 ws3.Columns(11).复制目标:=工作表(“示例文件”).Columns(11) ws3.Columns(11).复制目标:=工作表(“示例文件”).Columns(12) ws3.Columns(13).复制目标:=工作表(“示例文件”).Columns(13) ws3.列(14)。复制目标:=图纸(“示例文件”)。列(14) ws3.Columns(19).复制目标:=工作表(“示例文件”).Columns(15) ws3.Columns(20).复制目标:=工作表(“示例文件”).Columns(16) ws3.Columns(21).复制目标:=工作表(“示例文件”).Columns(17) src.Columns(“R”)=“硬编码”选项值日期 ws3.Columns(22).复制目标:=工作表(“示例文件”).Columns(19) 端接头
您可以尝试在代码开始时关闭屏幕更新。 Application.ScreenUpdating=False 记得在代码结束时重新打开它。Vba 通用电气(“U2”)。选择 ActiveCell=“=VLOOKUP(A2,eodcpos!B:I,8,FALSE)”购买风险货币标志的设置 Selection.AutoFill Destination:=src.Columns(“U”) 范围(“V2”)。选择 ActiveCell=“=如果(U2=“”长“、”B“、”S“)”购买风险货币标志 Selection.AutoFill Destination:=src.Columns(“V”) 范围(“W2”)。选择 ActiveCell=“=IF(S2“0”、T2/S2“0”)” Selection.AutoFill Destination:=src.Columns(“W”) ''标题 范围(“C1”)。值=“” 范围(“D1”).Value=“产品系列名称” 范围(“E1”).Value=“客户名称” 范围(“F1”).Value=“交易ID” 范围(“G1”).Value=“交易日期” 范围(“H1”).Value=“结算” 范围(“I1”).Value=“源账簿” 范围(“J1”).Value=“PD ID” 范围(“K1”)。值=“远期汇率” 范围(“L1”)。值=“远期汇率” 范围(“M1”).Value=“购买货币” 范围(“N1”)。Value=“卖出货币” 范围(“O1”).Value=“类型名称” 范围(“P1”)。值=“支腿编号” 范围(“Q1”)。值=“持续时间” 范围(“R1”).Value=“期权价值日期” 范围(“S1”).Value=“购买ccy金额” 范围(“T1”).Value=“出售ccy金额” 范围(“U1”).Value=“不适用” 范围(“V1”).Value=“购买风险ccy标志” 范围(“W1”).Value=“卖出买入比率” '示例数据表的标题 范围(“A1”).Value=“产品系列名称” 范围(“B1”).Value=“客户名称” 范围(“C1”).Value=“交易ID” 范围(“D1”)。值=“修订号” 范围(“E1”).Value=“交易日期” 范围(“F1”).Value=“结算日期” 范围(“G1”).Value=“账簿管理器” 范围(“H1”).Value=“腿状态类型名称” 范围(“I1”).Value=“支腿编号” 范围(“J1”).Value=“航段持续时间代码” 范围(“K1”)。值=“即期汇率” 范围(“L1”)。值=“直接利率” 范围(“M1”).Value=“购买货币代码” 范围(“N1”).Value=“卖出货币代码” 范围(“O1”).Value=“购买货币金额” 范围(“P1”).Value=“卖出货币金额” 范围(“Q1”).Value=“买入风险货币标志” 范围(“R1”).Value=“期权价值日期” 范围(“S1”).Value=“卖出买入比率” '从文件工作表复制数据 ws3.Columns(4).复制目标:=工作表(“示例文件”).Columns(1) ws3.Columns(5).复制目标:=工作表(“示例文件”).Columns(2) ws3.Columns(6).复制目标:=工作表(“示例文件”).Columns(3) src.栏(“D”)=“1”硬编码修订号 ws3.Columns(7).复制目标:=工作表(“示例文件”).Columns(5) ws3.Columns(8).复制目标:=工作表(“示例文件”).Columns(6) ws3.Columns(9).复制目标:=工作表(“示例文件”).Columns(7) src.Columns(“H”)=“LIVE”硬编码类型名称 src.列(“I”)=“1”硬编码段编号 src.Columns(“J”)=“S”硬代码段持续时间代码 ws3.Columns(11).复制目标:=工作表(“示例文件”).Columns(11) ws3.Columns(11).复制目标:=工作表(“示例文件”).Columns(12) ws3.Columns(13).复制目标:=工作表(“示例文件”).Columns(13) ws3.列(14)。复制目标:=图纸(“示例文件”)。列(14) ws3.Columns(19).复制目标:=工作表(“示例文件”).Columns(15) ws3.Columns(20).复制目标:=工作表(“示例文件”).Columns(16) ws3.Columns(21).复制目标:=工作表(“示例文件”).Columns(17) src.Columns(“R”)=“硬编码”选项值日期 ws3.Columns(22).复制目标:=工作表(“示例文件”).Columns(19) 端接头,vba,excel,Vba,Excel,您可以尝试在代码开始时关闭屏幕更新。 Application.ScreenUpdating=False 记得在代码结束时重新打开它。 Application.screenUpdate=True关于速度,您可以在sub开始时使用以下选项: With Application .ScreenUpdating = False .DisplayAlerts = False End With 并在潜艇末端恢复它们 With Application .ScreenUpdating =
Application.screenUpdate=True关于速度,您可以在sub开始时使用以下选项:
With Application
.ScreenUpdating = False
.DisplayAlerts = False
End With
并在潜艇末端恢复它们
With Application
.ScreenUpdating = True
.DisplayAlerts = True
End With
然而,这段代码的主要危险在于它非常脆弱。行和列范围和引用在整个子对象中都是硬编码的,稍有更改就会导致问题
此外,如果要复制整个列,可以将复制限制在数据的范围内,并可能将连续副本合并到单个事务中。不要
选择单元格
Range("D2").Select
ActiveCell = whatever
Selection.AutoFill Destination:=src.Columns("D")
应该是
With Range("D2")
.formula = whatever
.autofill Destination := src.columns(4)
end with
使用所有这些VLookup
方程,您可能会在宏的最开始使用Application.Calculation=xlCalculationManual
来加快速度,而当宏完成时,您应该将计算设置回Application.Calculation=xlCalculationAutomatic
,也许可以使用错误处理来确保发生以下情况:
此外,您将自动填充整个列。这可能不是你想要的,它会让你慢下来
如果您将自动填充限制为
With Range("D2")
.formula = whatever
.autofill Destination := src.columns(4)
end with
Range("E2").AutoFill Destination:=Range("E2:E99")
Range("E2") = "=VLOOKUP(A2,eodcpos!$B$1:$BK$99,62,FALSE)"
Debug.Print Now & "Say what the code just did here"