首页 > 解决方案 > VBA在5个整数列表中获取前2个整数值

问题描述

我的代码有五个整数值,这些值是从一些文本框中获取的。

Dim a, b, c, d, e As Integer
a=CInt(frmform.textbox1.text)
b=CInt(frmform.textbox2.text)
c=CInt(frmform.textbox3.text)
d=CInt(frmform.textbox4.text)
e=CInt(frmform.textbox5.text)

我想比较这五个值并获得前两个值,以便我可以将变量的原始描述打印到我的 2 个输出文本框,如下所示:

假设 a 和 b 是前两个整数,它们的描述是 a = 高增长领导者和 b = 利基业务领导者。所以我想在我的输出文本框中打印他们的描述,如下所示。

frmform.TextBox1.Text="The first role is High Growth Leader"
frmform.TextBox2.Text="The second top role is Niche Business Leader"

如何以最简单的方式实现这一点。

标签: excelvbaoffice365

解决方案


我能够通过以下方式解决问题,

  1. 我创建了一个新工作表并在第 1 列中添加了变量描述
  2. 在代码中,我将各自的变量值分配给它们在第 2 列中的描述
  3. 记录 marco 以通过将第 2 列也扩展为第 1 列,从最高值到最低值对第 2 列进行排序。这是代码
Sub Score_sort()
'
' Score_sort Macro
    Range("C100:C104").Select
    ActiveWorkbook.Worksheets("Competency Scoring").Sort.SortFields.Clear
    ActiveWorkbook.Worksheets("Competency Scoring").Sort.SortFields.Add2 Key:= _
        Range("C100"), SortOn:=xlSortOnValues, Order:=xlDescending, DataOption:= _
        xlSortNormal
    With ActiveWorkbook.Worksheets("Competency Scoring").Sort
        .SetRange Range("B100:C104")
        .Header = xlNo
        .MatchCase = False
        .Orientation = xlTopToBottom
        .SortMethod = xlPinYin
        .Apply
    End With
End Sub

  1. 现在我有按降序排序的描述值对,在我编写的代码中,我从工作表中提取了前两个描述并将其放入文本框中。
frmform.TextBox31.Text = Sheet2.Cells(100, 2).Value
frmform.TextBox32.Text = Sheet2.Cells(101, 2).Value 

推荐阅读