【问题标题】:Copy Previous Cell data into textbox将上一个单元格数据复制到文本框中
【发布时间】:2021-12-29 21:23:47
【问题描述】:

只是想创建一个代码,使我能够让用户表单文本框从前一个单元格中提取数据(因为它是一个数据输入寄存器),并且当找到单元格数据时希望它显示在工作表中以获取它遵循工作表中存在的顺序。

摘要:当 A 列“TCNumber”先前的单元格值 =“TC00010”时,然后在 TXBTCNumber(TC 编号值的文本框)中显示值,并将找到的数据加 1 并将新值添加到新行单元格中。

附:如果可能的话,我可以让它找到整个值(例如:TC00010)而不仅仅是数字

找到了一个代码,可以找到以前的单元格数据并将其添加到文本框中已经期望它只显示 TC 编号的最后两位而不是整个值

当前代码:

With UserForm1.TXBTCNumber

Dim TCNum As Integer
Dim TC As String
Dim rows As String
Dim value As String
Dim concat As String
Set ws = Worksheets("Material Tracibility Register")


rows = ws.Range("A1048576").End(xlUp).Row

Dim a As String
'Column
a = "A"
concat = a & rows
'Value in last low is below
TC = Range(concat).value
TCNum = Mid(TC, 3, 6) + 1

UserForm1.TXBTCNumber.value = TCNum
End With
UserForm1.Show
End Sub

【问题讨论】:

    标签: excel vba database userform


    【解决方案1】:

    为了只复制最后 2 个字符,您只需在代码中添加子字符串函数,这有助于剪切字符串 TCNum 并复制您需要的部分。

    示例:

    With UserForm1.TXBTCNumber
    
    Dim TCNum As Integer
    Dim TC As String
    Dim rows As String
    Dim value As String
    Dim concat As String
    Set ws = Worksheets("Material Tracibility Register")
    
    
    rows = ws.Range("A1048576").End(xlUp).Row
    
    Dim a As String
    'Column
    a = "A"
    concat = a & rows
    'Value in last low is below
    TC = Range(concat).value
    TCNum = Mid(TC, 3, 6) + 1
    
    UserForm1.TXBTCNumber.value = TCNum.Substring(TCNum.Length - 2)
    
    End With
    UserForm1.Show
    End Sub
    

    【讨论】:

    • 您的答案可以通过额外的支持信息得到改进。请edit 添加更多详细信息,例如引用或文档,以便其他人可以确认您的答案是正确的。你可以找到更多关于如何写好答案的信息in the help center
    • 谢谢Anas,但我认为你误解了你提供的代码正在做我不想要的:(我想要一个可以识别前一个单元格的值并添加值1的代码到找到的值,然后一旦找到并将一个添加到前一个单元格的值中,我希望它在用户表单文本框中显示新值,以向用户显示序列中的下一个数字。
    • 示例案例:如果单元格“A10”的值为“TC000008”,那么用户表单会看到并添加 +1 使新值“TC000009”,然后将这个新值显示到用户表单中文本框,当用户单击输入时,表单会将新值(“TC000009”)加载到工作表的下一行中。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-03-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多