Excel VBA:基于组合框选择填充文本框

时间:2016-10-20 10:42:26

标签: excel-vba vba excel

首先,我对excel VBA不是很有经验。在网上和youtube上搜索后我无法理解,所以我希望你能帮助我。

在我的工作簿中,我运行一个宏,通过CHAR(RANDBETWEEN)通过= NOW()和“唯一”生成的代码提供时间戳。然后是复制&粘贴到单独的工作表(“日期”)以创建我的组合框的列表,其中代码在列A中,时间戳在列B中。每次运行宏时,都会生成新的时间戳和代码并放入第1行A栏和A栏B再次(所以较旧的一个向下移动)

使用组合框我根据以下代码获得了时间戳列表:

Private Sub UserForm_Initialize()
Dim ws As Worksheet, lirow As Integer

Set ws = ThisWorkbook.Worksheets("Dates")
lirow = 1
While ws.Cells(lirow, 2) <> ""
Me.cboxDates.AddItem ws.Cells(lirow, 2).Value
lirow = lirow + 1
Wend

End Sub

我想要的是在我的组合框旁边的文本框中显示相应的代码,所以基本上只是一个偏移量(0,-1)。

感谢您的帮助。

提前致谢!

Kr,Marty

1 个答案:

答案 0 :(得分:0)

Private Sub cboxDates_Change()
  Dim Found As Range, LastRow As Long
  Set Found = Worksheets("Dates").Columns(2).Find(what:=Me.cboxDates.Text, LookIn:=xlValues, lookat:=xlWhole)
  If Found Is Nothing Then Exit Sub
  Me.TextBox1.Text = Worksheets("Dates").Cells(Found.Row, Found.Column).Offset(0, -1).Value
End Sub