Sunday, August 24, 2014
Excel Macro: Combine two cell without losing
Macro code:
Sub Combine()
Dim vCell As Long
Dim lastcolumn As Long
lastcolumn = Cells.Find(What:="*", SearchOrder:=xlByColumns, SearchDirection:=xlPrevious).Column
For vCell = 1 To lastcolumn
If Cells(6, vCell) = "" Then
Else
Cells(6, vCell).Value = _
Cells(6, vCell).Value & " " & _
Cells(5, vCell).Value
Cells(5, vCell).Clear
End If
Next vCell
End Sub
Sub Combine()
Dim vCell As Long
Dim lastcolumn As Long
lastcolumn = Cells.Find(What:="*", SearchOrder:=xlByColumns, SearchDirection:=xlPrevious).Column
For vCell = 1 To lastcolumn
If Cells(6, vCell) = "" Then
Else
Cells(6, vCell).Value = _
Cells(6, vCell).Value & " " & _
Cells(5, vCell).Value
Cells(5, vCell).Clear
End If
Next vCell
End Sub
Excel Macro: Userform
Call Userform:
Sub OpenInputForm()
UserFormInput.Show
End Sub
' Clear data fields and reset the form
Me.formField1.Value = ""
Me.formField2.Value = ""
Me.formField3.Value = ""
Me.formField4.Value = ""
Me.formField5.Value = ""
Me.formField6.Value = ""
Me.formField1.SetFocus
Unload Me
End Sub
Private Sub cmdbtnSave_Click()
Dim vColumn1 As Long
Dim StopRow1 As Long
Dim vColumn2 As Long
Dim StopRow2 As Long
Dim vColumn3 As Long
Dim StopRow3 As Long
Dim ws As Worksheet
Set ws = DataTable
' Check for data in Field 1
If Trim(Me.formField1.Value) = "" Then
Me.formField1.SetFocus
MsgBox "Please enter data in Field 1!"
Exit Sub
End If
' Check for data in Field 2
If Trim(Me.formField2.Value) = "" Then
Me.formField2.SetFocus
MsgBox "Please enter data in Field 2!"
Exit Sub
End If
' Check for data in Field 3
If Trim(Me.formField3.Value) = "" Then
Me.formField3.SetFocus
MsgBox "Please enter data in Field 3!"
Exit Sub
End If
' Check for data in Field 4
If Trim(Me.formField4.Value) = "" Then
Me.formField4.SetFocus
MsgBox "Please enter data in Field 4!"
Exit Sub
End If
' Check for data in Field 5
If Trim(Me.formField5.Value) = "" Then
Me.formField5.SetFocus
MsgBox "Please enter data in Field 5!"
Exit Sub
End If
' Check for data in Field 6
If Trim(Me.formField6.Value) = "" Then
Me.formField6.SetFocus
MsgBox "Please enter data in Field 6!"
Exit Sub
End If
' Input the data in the Data Table
If Me.formField2.Value = 0 Then
Else
StopRow1 = Me.formField2.Value
For vColumn1 = Me.formField1.Value To StopRow1
Cells(10, vColumn1).Value = "DC"
Next
End If
If Me.formField4.Value = 0 Then
Else
StopRow2 = Me.formField4.Value
For vColumn2 = Me.formField3.Value To StopRow2
Cells(10, vColumn2).Value = "NDD"
Next
End If
If Me.formField6.Value = 0 Then
Else
StopRow3 = Me.formField6.Value
For vColumn3 = Me.formField5.Value To StopRow3
Cells(10, vColumn3).Value = "NDDP"
Next
End If
'ws.Cells(vNewRow, 1).Activate
' Clear all fields and reset the form
Me.formField1.Value = ""
Me.formField2.Value = ""
Me.formField3.Value = ""
Me.formField4.Value = ""
Me.formField5.Value = ""
Me.formField6.Value = ""
Me.formField1.SetFocus
End Sub
Userform Layout


Sub OpenInputForm()
UserFormInput.Show
End Sub
Userform Body:
Private Sub cmdbtnCancel_Click()' Clear data fields and reset the form
Me.formField1.Value = ""
Me.formField2.Value = ""
Me.formField3.Value = ""
Me.formField4.Value = ""
Me.formField5.Value = ""
Me.formField6.Value = ""
Me.formField1.SetFocus
Unload Me
End Sub
Private Sub cmdbtnSave_Click()
Dim vColumn1 As Long
Dim StopRow1 As Long
Dim vColumn2 As Long
Dim StopRow2 As Long
Dim vColumn3 As Long
Dim StopRow3 As Long
Dim ws As Worksheet
Set ws = DataTable
' Check for data in Field 1
If Trim(Me.formField1.Value) = "" Then
Me.formField1.SetFocus
MsgBox "Please enter data in Field 1!"
Exit Sub
End If
' Check for data in Field 2
If Trim(Me.formField2.Value) = "" Then
Me.formField2.SetFocus
MsgBox "Please enter data in Field 2!"
Exit Sub
End If
' Check for data in Field 3
If Trim(Me.formField3.Value) = "" Then
Me.formField3.SetFocus
MsgBox "Please enter data in Field 3!"
Exit Sub
End If
' Check for data in Field 4
If Trim(Me.formField4.Value) = "" Then
Me.formField4.SetFocus
MsgBox "Please enter data in Field 4!"
Exit Sub
End If
' Check for data in Field 5
If Trim(Me.formField5.Value) = "" Then
Me.formField5.SetFocus
MsgBox "Please enter data in Field 5!"
Exit Sub
End If
' Check for data in Field 6
If Trim(Me.formField6.Value) = "" Then
Me.formField6.SetFocus
MsgBox "Please enter data in Field 6!"
Exit Sub
End If
' Input the data in the Data Table
If Me.formField2.Value = 0 Then
Else
StopRow1 = Me.formField2.Value
For vColumn1 = Me.formField1.Value To StopRow1
Cells(10, vColumn1).Value = "DC"
Next
End If
If Me.formField4.Value = 0 Then
Else
StopRow2 = Me.formField4.Value
For vColumn2 = Me.formField3.Value To StopRow2
Cells(10, vColumn2).Value = "NDD"
Next
End If
If Me.formField6.Value = 0 Then
Else
StopRow3 = Me.formField6.Value
For vColumn3 = Me.formField5.Value To StopRow3
Cells(10, vColumn3).Value = "NDDP"
Next
End If
'ws.Cells(vNewRow, 1).Activate
' Clear all fields and reset the form
Me.formField1.Value = ""
Me.formField2.Value = ""
Me.formField3.Value = ""
Me.formField4.Value = ""
Me.formField5.Value = ""
Me.formField6.Value = ""
Me.formField1.SetFocus
End Sub
Userform Layout


Subscribe to:
Posts (Atom)









