Is it possible to have a row move from Sheet 1 to Sheet 2 once all checkboxes are checked? I figured out how to do this with drop downs but the ease of clicking the checkbox will save some time in the long run.
Sample book is attached..
Thanks!
Is it possible to have a row move from Sheet 1 to Sheet 2 once all checkboxes are checked? I figured out how to do this with drop downs but the ease of clicking the checkbox will save some time in the long run.
Sample book is attached..
Thanks!
Where your checkboxes are ?
- Battle without fear gives no glory - Just try
I didn't add any because I wasn't sure if it would just make helping me harder.
I can add them and reupload the workbook.. but in all of the cells the 3 empty columns to the far right.
Here's one with checkboxes.
Or maybe without CheckBoxes? By double clicking in columns F:H.
Procedure in the Sheet1 module (not in stadard module):ArtikPrivate Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean) If Not Intersect(Target, Me.Columns("F:H")) Is Nothing Then If Target.Row > 1 Then Application.EnableEvents = False Cancel = True If Len(Target.Value) = 0 Then If Target.Column > 6 Then If Target.Offset(, -1).Value <> Chr(252) Then MsgBox "Previous procedure not performed!", vbExclamation GoTo ExitProc End If End If With Target .Value = Chr(252) .Font.Name = "Wingdings" .Font.Size = 12 .Font.Color = 5287936 End With Else Target.ClearContents End If If Application.CountA(Me.Cells(Target.Row, "F").Resize(, 3)) = 3 Then MsgBox "All three procedures performed. You can move the range " & Me.Cells(Target.Row, "A").Resize(, 5).Address & " to another sheet." End If ExitProc: Application.EnableEvents = True End If End If End Sub
Atrik this works brilliantly -- Is there anyway to move the completed range automatically to another sheet in the first available row once all are double clicked?
I thought you had this part of the macro ready when I read "I figured out how to do this with drop downs ...".
After changesArtikPrivate Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean) If Not Intersect(Target, Me.Columns("F:H")) Is Nothing Then If Target.Row > 1 Then Application.EnableEvents = False Cancel = True If Len(Target.Value) = 0 Then If Target.Column > 6 Then If Target.Offset(, -1).Value <> Chr(252) Then MsgBox "Previous procedure not performed!", vbExclamation GoTo ExitProc End If End If With Target .Value = Chr(252) .Font.Name = "Wingdings" .Font.Size = 12 .Font.Color = 5287936 End With Else Target.ClearContents End If If Application.CountA(Me.Cells(Target.Row, "F").Resize(, 3)) = 3 Then If MsgBox("All procedures performed. You can move the range " & _ Me.Cells(Target.Row, "A").Resize(, 5).Address & " to Archive sheet." & _ String(2, vbLf) & "Are you sure you want to do?", _ vbQuestion + vbYesNo + vbDefaultButton2, "Procedures complete") = vbYes Then Call Archiving(Me.Cells(Target.Row, "A").Resize(, 5)) End If End If ExitProc: Application.EnableEvents = True End If End If End Sub Private Sub Archiving(Source As Range) Dim wks As Worksheet Dim lRow As Long Set wks = Worksheets("Sheet2") lRow = wks.Cells(Rows.Count, "A").End(xlUp).Row + 1 With Source wks.Cells(lRow, "A").Resize(, .Columns.Count).Value = .Value .EntireRow.Delete End With End Sub
Ah yes, it looks similar to what I came up with but comparing yours to mine I can see where mine is lacking.
I appreciate you taking the time, again.. to solve my issue! Artik, you're brilliant!
There are currently 1 users browsing this thread. (0 members and 1 guests)
Bookmarks