我为特定工作创建了此公式,我想将其转换为vba,请帮忙吗?
公式1:
= MIN(INDEX(距离; MATCH(Q1_Ville1; Villes2; 0); MATCH(Q1_Ville2; Villes1; 0)); INDEX(距离; MATCH(Q1_Ville1; Villes2; 0); MATCH(Q1_Ville3; Villes1; 0) ); INDEX(Distances; MATCH(Q1_Ville2; Villes2; 0); MATCH(Q1_Ville3; Villes1; 0)))
公式2:
= MAX(INDEX(距离; MATCH(Q1_Ville1; Villes2; 0); MATCH(Q1_Ville2; Villes1; 0)); INDEX(距离; MATCH(Q1_Ville1; Villes2; 0); MATCH(Q1_Ville3; Villes1; 0) ); INDEX(Distances; MATCH(Q1_Ville2; Villes2; 0); MATCH(Q1_Ville3; Villes1; 0)))
公式3:
= MIN(INDEX(距离; MATCH(Q2_Ville1; Villes2; 0); MATCH(Q2_Ville2; Villes1; 0)); INDEX(距离; MATCH(Q2_Ville1; Villes2; 0); MATCH(Q2_Ville3; Villes1; 0) ); INDEX(距离; MATCH(Q2_Ville1; Villes2; 0); MATCH(Q2_Ville4; Villes1; 0)); INDEX(距离; MATCH(Q2_Ville2; Villes2; 0); MATCH(Q2_Ville3; Villes1; 0)); INDEX(距离; MATCH(Q2_Ville3; Villes2; 0); MATCH(Q2_Ville4; Villes1; 0)))
公式4:
= MAX(INDEX(距离; MATCH(Q2_Ville1; Villes2; 0); MATCH(Q2_Ville2; Villes1; 0)); INDEX(距离; MATCH(Q2_Ville1; Villes2; 0); MATCH(Q2_Ville3; Villes1; 0) ); INDEX(距离; MATCH(Q2_Ville1; Villes2; 0); MATCH(Q2_Ville4; Villes1; 0)); INDEX(距离; MATCH(Q2_Ville2; Villes2; 0); MATCH(Q2_Ville3; Villes1; 0)); INDEX(距离; MATCH(Q2_Ville3; Villes2; 0); MATCH(Q2_Ville4; Villes1; 0)))
答案 0 :(得分:0)
第一个公式可能会转换为VBA,其他您现在可以自己做
Function MinRabiai(dist As Range, Q1V1 As Range, Q1V2 As Range, Q1V3 As Range, Villes1 As Range, Villes2 As Range) As Long
With Application.WorksheetFunction
MinRabiai = .Min(.Index(dist, .Match(Q1V1, Villes2, 0), .Match(Q1V2, Villes1, 0)), _
.Index(dist, .Match(Q1V1, Villes2, 0), .Match(Q1V3, Villes1, 0)), .Index(dist, _
.Match(Q1V2, Villes2, 0), .Match(Q1V3, Villes1, 0)))
End With
End Function
Sub tst()
MsgBox MinRabiai(Range("Distances"), Range("Q1_Ville1"), Range("Q1_Ville2"), Range("Q1_Ville3"), Range("Villes1"), Range("Villes2"))
End Sub
答案 1 :(得分:-1)
首先,使用Record_Macro记录您的公式,然后您可以在excel中看到它的可视化基本编辑器