求助大神!!!excel vba activex 控件 textbox 中的内容通过按钮导入到指定单元格?

2024-12-27 00:40:44
推荐回答(4个)
回答1:

读取输入的姓名,然后在B列查找输入的姓名,找到就记下行号,更新信息。没有找到,就在最后一行的下一行添加数据。

Private Sub CommandButton1_Click()
    'Sheet1 是输入信息的工作表,Sheet2是存放数据的工作薄。
    Dim lngRow As Variant, strName As String
    strName = Sheet1.TextBox2.Text
    lngRow = Application.Match(strName, Sheet2.Range("B:B"), 0)
    If Application.IsError(lngRow) Then
        lngRow = Sheet2.UsedRange.SpecialCells(xlCellTypeLastCell).Row + 1
        Sheet2.Cells(lngRow, 1) = "A2019" & Format(lngRow - 1, "000")       '新增加的行,添加编号
    End If
    
    'MsgBox lngRow
    '此时根据lngRow的值来更新信息就好了。
    Sheet2.Cells(lngRow, 2) = "'" & strName
    '其他信息
    '
End Sub

回答2:

第一步:将控件文本框读取到变量中;
第二步:将变量写入excel单元格
需要的话加我好友

回答3:

二张图的行号列号都看不到咋写。
还有个问题,理论上来讲,姓名是有可能重名的,如果真的遇到两个人名字相同,其它信息不同,这样提交信息后,第二个人的数据会把第一个人的数据覆盖掉。
建议用唯一的属性来判断需不需要覆盖,比如用身份证号或者电话号来判断是不是需要覆盖,而不是用姓名判断。
最好是用身份证号来判断,因为电话号的话,你也不能保证人家换不换电话号码。

回答4:

还有个问题,理论上来讲,姓名是有可能重名的,如果真的遇到两个人名字相同,其它信息不同,这样提交信息后,第二个人的数据会把第一个人的数据覆盖掉。