【问题标题】:How to get only number from .address VBA Excel如何从.address VBA Excel中仅获取数字
【发布时间】:2020-02-13 09:41:33
【问题描述】:

我正在尝试编写一个用户表单,如果按下 cmdbuton,用户表单将评估数据在两个文本框中的哪一个,并查看位置(第一个文本框)或找到数据的名称(第二个文本框)。

我在分析文本框名称时遇到问题。我想找到名称,获取其位置并将该行中的所有数据加载到另一个用户窗体中。问题是我不知道如何从找到单词时得到的 .address 中删除数字。

Private Sub CommandButton2_Click()
If Not TextBox1.value = "" And TextBox2.value = "" Then
    Sheet1.Cells(1, 15) = TextBox1.value
    Unload Me 
    OpisVentila.Show
ElseIf TextBox1.value = "" And Not TextBox2.value = "" Then
Dim y As Range
Dim x As String
Dim z As String
Dim s As String
    x = TextBox2.Text
    Set y = Sheet1.Range("A:A").Find(x)
    z = y.Address(0, 0)
    s = StrConv(z, vbUnicode)
    s = Split(Left(s, Len(s) - 1, vbNullChar))
    Sheet1.Cells(1, 15) = s
    Unload Me 
    PromjenaVentila.Show
ElseIf Not TextBox1.value = "" And Not TextBox2.value = "" Then
    Msgbox "Please enter one way to find the desired location"
    TextBox1 = ""
    TextBox2 = ""
Else
    Msgbox "You didn't chose any way to find the desired location"
End If
End Sub

【问题讨论】:

  • 所以从 A4 你想要 A?试试z = y.Address(1,1)split(z, "$")(1)。如果您想要该号码,请改用(2)。并检查y 是否首先找到了一些东西。
  • 在 textbox1 中他们写“5”,例如,如果他们的数据在第 5 行?如果他们不知道该行,但知道他们的数据称为“Puma”,那么他们应该在 textbox2 中输入它吗?如果您只是想找到其中包含 puma 的行,请使用 GoodVariableName = application.match(textbox2.value, sheet(1).Range("A:A"), 0) 考虑使用错误捕获器(application.iferror 效果很好)。或者您可以只执行 `Sheet1.Range("A:A").Find(x).row" 而不设置 y 成为 A 列中所需的行?

标签: excel vba string numbers userform


【解决方案1】:

这将为您提供行号。这就是你所追求的吗?

Dim y as Range
Dim z As Integer
Set y = Sheet1.Range("A:A").Find(x)
z = y.Row

【讨论】:

    【解决方案2】:

    是的,这就是解决方案。 出于好奇,如果我需要从用户表单输入中获取数字,而您不知道输入的外观如何,那么它将如何解决? (例如:nope6p3p4ll44?)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-08-02
      • 1970-01-01
      • 1970-01-01
      • 2020-12-12
      • 2013-09-29
      • 1970-01-01
      相关资源
      最近更新 更多