在整个工作簿的列中查找值并将其添加到文本框中

时间:2014-12-29 14:21:23

标签: excel vba excel-vba

我已创建此Userform。

enter image description here

我想要完成的是我希望这个TextBox(蓝色圆圈)填充从工作簿中获取的数字。此编号将在A列中获得:A,如果此编号为1,我希望Userform TextBox显示2(始终添加+1)。

我有以下代码:

TextBoxLopnummer.Value = Sheets("Energi").Range("MAX(A:A)+1").Value

但是出现错误,显示“运行时错误1004”

2 个答案:

答案 0 :(得分:1)

这个:范围(" MAX(A:A)+ 1")不会给你范围内的最大值。试试这个:

TextBoxLopnummer.Value = WorksheetFunction.Max(Sheets("Energi").Range("A:A")) + 1

答案 1 :(得分:1)

问题的解决方案是:

Dim ws As Worksheet, currentmax As Integer
currentmax = 0

For Each ws In Worksheets
    currentmax = Application.WorksheetFunction.Max(currentmax, ws.Columns("A:A"))
Next ws

TextBoxLopnummer.Value = Format(currentmax + 1, "0000") 'or if you need 4 digits formatting