【问题标题】:If Cell Is Blank, Fill With Other Cell’s Text Data如果单元格为空白,则填写其他单元格的文本数据
【发布时间】:2019-08-21 09:57:09
【问题描述】:

这对你们那里的专家来说可能很简单。我已经尝试了很多方法,并且在代码中的很多位置,但没有一个对我有用。请帮忙!

我要做的只是从 CELL RANGE B4:B4000 获取数据以自动复制到 CELL RANGE J4:J4000 应该 CELL RANGE J4:J4000empty

仅供参考:通过用户表单输入数据。

Option Explicit

Private Sub CmdButton_CONTINUE1_Click() 

Dim TargetRow As Integer
Dim FullName As String   'Variable for FULL NAME = CELL RANGE J4:J4000
Dim QBFileName As String   'Variable Quick Books File Name = CELL RANGE B4:B4000
Dim UserMessage As String

FullName = Txt_Client_First_Name & " " & Txt_Client_LAST_Name
QBFileName = Txt_QB_File_Name

'begin check if EDIT or ADD New Entry Mode
If Sheets("Engine").Range("B4").Value = "NEW" Then  'ADD New Entry Mode


'BEGINS VALIDATION CHECK: IF in "ADD New Entry Mode" mode to prevent duplicate FULL NAME J Column entries

If Application.WorksheetFunction.CountIf(Sheets("Database").Range("J3:J4000"), FullName) > 0 Then

MsgBox "Client's Full Name already exists", 0, "Check" 
Exit Sub 

End If  'ends validation check OF Duplicate FULLNAME (J Column)


'BEGINS VALIDATION CHECK: IF in "ADD New Entry Mode" to prevent duplicate QBFileName B Column entries

If Application.WorksheetFunction.CountIf(Sheets("Database").Range("B3:B4000"), QBFileName) > 0 Then

MsgBox "QuickBooks File Name already exists", 0, "Check" 
Exit Sub 

End If
~~~~

【问题讨论】:

标签: excel vba if-statement userform


【解决方案1】:
Private Sub CmdButton_CONTINUE1_Click()

Dim TargetRow As Integer
Dim FullName As String   'Variable for FULL NAME = CELL RANGE J4:J4000
Dim QBFileName As String   'Variable Quick Books File Name = CELL RANGE B4:B4000
Dim UserMessage As String

FullName = Txt_Client_First_Name & " " & Txt_Client_LAST_Name
QBFileName = Txt_QB_File_Name

'begin check if EDIT or ADD New Entry Mode
If Sheets("Engine").Range("B4").Value = "NEW" Then  'ADD New Entry Mode


'BEGINS VALIDATION CHECK: IF in "ADD New Entry Mode" mode to prevent duplicate FULL NAME J Column entries

If 1 + UBound(Split(Application.Trim(Replace(Replace(Join(Application.Transpose(Range("J3:J4000")), Chr(1)), " ", Chr(2)), Chr(1), " ")))) > 0 Then

MsgBox "Client's Full Name already exists", 0, "Check"
Exit Sub

End If  'ends validation check OF Duplicate FULLNAME (J Column)


'BEGINS VALIDATION CHECK: IF in "ADD New Entry Mode" to prevent duplicate QBFileName B Column entries

If 1 + UBound(Split(Application.Trim(Replace(Replace(Join(Application.Transpose(Range("B3:B4000")), Chr(1)), " ", Chr(2)), Chr(1), " ")))) > 0 Then

MsgBox "QuickBooks File Name already exists", 0, "Check"
Exit Sub

End If

End Sub

【讨论】:

  • 你好罗南,非常感谢。这段代码比我预期的要复杂得多。但是,它没有用。 :( 问题:每个新条目都说全名存在。我复制了你的代码并用它替换了我的代码行,但没有这样的运气。
  • Ozgrid 中的 MUMPS 解决了这个问题! ozgrid.com/forum/forum/help-forums/excel-vba-macros/…
【解决方案2】:

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-03-22
    • 1970-01-01
    • 2021-03-08
    • 1970-01-01
    • 2015-08-24
    • 1970-01-01
    • 2021-10-31
    相关资源
    最近更新 更多