【发布时间】:2016-05-08 13:59:49
【问题描述】:
TL-DR;我需要一种调用变量名的方法。所以不是调用 TB_Name1_R1 我可以调用 TB_Name1_R[i] (或任何它在 VBA 中调用)
我现在正在使用 VBA 在 Excel 中处理多个用户表单。
设置是这样的:我有一个带有很多文本框的主窗口,供用户输入数据。它们都在名为TB_Name1_R1、TB_Name2_R1 的行中。下一行是TB_Name1_R2、TB_Name2_R2.. 等等。
用于交换的第二个用户表单包含 2 个带有行列表的下拉框,因此您可以选择让我们说第 1 行和第 2 行,然后您可以交换两行中的数据。所以用户窗体调用
Private Sub CB1_Click()
Dim Ra As Integer
Dim Rb As Integer
Ra = RowA.ListIndex
Rb = RowB.ListIndex
If Ra = -1 Or Ra = 10 Or Ra = 15 Or Rb = -1 Or Rb = 10 Or Rb = 15 Then
MsgBox "Wrong input, please redo", , "Wrong Input"
Else
Call Module1.Move(Ra, Rb)
Me.Hide
End If
End Sub
一切正常。
现在我的问题如下。我如何最聪明地创建一些代码,其中被调用的子使用发送的信息来交换所选行之间的数据?
我唯一能想到的(是的,它非常基础)就是很多
if a = 1 then
holder1 = TB_Name1_R1
holder2 = TB_Name2_R1
if a = 2 then
holder1 = TB_Name1_R2
holder2 = TB_Name2_R2
这根本不是答案
【问题讨论】: