仅当文本框不为空时才将文本框中的值写入单元格

时间:2018-04-12 08:00:18

标签: excel vba excel-vba

  • 我正在寻找我在VBA 1st面临的三个问题的解决方案

    • 我有一个带有一些文本框的用户表单。插入该文本框中的值将添加到某些特定单元格中
  • 但我想要的是,如果单元格有值但文本框为空,则考虑该单元格值

我尝试过以下代码,但结果是空单元格,请帮我解决这个问题

If IsEmpty(("B4")) = False And Me.TextBox_applied_date.value = 0 Then
    Me.TextBox_applied_date.value = ws.Cells(4, 2).value Else
    ws.Cells(4, 2).value = Me.TextBox_applied_date.value
End If
  • 第二个问题是我的用户窗体中有以下代码,当我执行以下代码大写锁定时,num lock会自动关闭并打开,我想停止此操作。

    ws.Cells(3, 2).value = Me.TextBox_company_name.value
    
    If Not Me.TextBox_applied_date.value = vbNullString Then
        ws.Cells(4, 2).value = Me.TextBox_applied_date.value
    End If
    
    
    If Not Me.TextBox_allotmenr_date.value = vbNullString Then
        ws.Cells(3, 9).value = Me.TextBox_allotmenr_date.value
    End If
    
    If Not Me.TextBox_listing_date.value = vbNullString Then
        ws.Cells(4, 9).value = Me.TextBox_listing_date.value
    End If
    
    Me.TextBox_applied_date.value = ""
    Me.TextBox_allotmenr_date = ""
    Me.TextBox_listing_date = ""
    Me.TextBox_company_name.SetFocus
    Unload Me
    Application.ScreenUpdating = False
    
  • 并且最后一个问题是,我想按照颜色,特定单元格中提到的日期对纸张进行排序,例如

    " B4"或者通过名字,我怎么能这样做

任何帮助都会得到满怀的感谢。谢谢。

2 个答案:

答案 0 :(得分:0)

我认为这就是你要找的东西。

如果textbox不为空,则将值写入单元格,否则不执行任何操作。

If Not Me.TextBox_applied_date.value = vbNullString Then
    ws.Cells(4, 2).value = Me.TextBox_applied_date.value
End If

答案 1 :(得分:0)

我想你可能会喜欢这样的事情:

If Not IsEmpty(("B4")) And Me.TextBox_applied_date.Value = vbNullString Then Me.TextBox_applied_date = .Value = ws.Cells(4, 2).Value