Home |
Search |
Today's Posts |
#1
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
Hi again,
With the following code, command button 3 and 4 are supposed to perform the same function except that if corresponding cell (column C) is red, data pastes to a different cell (column G instead of F) I cant get this to work, it always pastes data to column G either way. I am in desperate need of help!!!!!!!! Private Sub CommandButton3_Click() CopyData Range("D9:D13"), "FEEDER" CopyData Range("D16:D58"), "MACHINE" CopyData Range("D63:D73"), "DELIVERY" CopyData Range("D78:D82"), "PECOM" CopyData Range("D88:D94"), "ROLLERS" CopyData Range("D104:D128"), "MISCELLANEOUS" Dim rng As Range, cell As Range Dim nrow As Long, rw As Long Dim Sh As Worksheet Set rng = Range("D9:D94") nrow = Application.CountIf(rng, "0") Set Sh = Worksheets("VK new") Debug.Print Sh.Range("A10").Resize(nrow * 1, 1).EntireRow.Address(external:=True) ' sh.Range("A10").Resize(nrow * 1).EntireRow.Insert rw = 10 For Each cell In Range("D9:D98") If Not IsEmpty(cell) Then If IsNumeric(cell) Then If cell 0 Then Cells(cell.Row, 1).Copy Sh.Cells(rw, "A").PasteSpecial Paste:=xlPasteValues Cells(cell.Row, 4).Copy Sh.Cells(rw, "F").PasteSpecial Paste:=xlPasteValues rw = rw + 1 End If End If End If Next End Sub Private Sub CommandButton4_Click() CopyData Range("D9:D13"), "FEEDER" CopyData Range("D16:D58"), "MACHINE" CopyData Range("D63:D73"), "DELIVERY" CopyData Range("D78:D82"), "PECOM" CopyData Range("D88:D94"), "ROLLERS" CopyData Range("D104:D128"), "MISCELLANEOUS" Dim rng As Range, cell As Range Dim nrow As Long, rw As Long Dim Sh As Worksheet Set rng = Range("D9:D94") nrow = Application.CountIf(rng, "0") Set Sh = Worksheets("VK new") Debug.Print Sh.Range("A10").Resize(nrow * 1, 1).EntireRow.Address(external:=True) ' sh.Range("A10").Resize(nrow * 1).EntireRow.Insert rw = 10 For Each cell In Range("D9:D98") If Not IsEmpty(cell) Then If IsNumeric(cell) Then If cell(rw, "C").Interior.ColorIndex = 3 And cell(rw, "D").Value 1 Then ElseIf cell 0 Then Cells(cell.Row, 1).Copy Sh.Cells(rw, "A").PasteSpecial Paste:=xlPasteValues Cells(cell.Row, 4).Copy Sh.Cells(rw, "G").PasteSpecial Paste:=xlPasteValues rw = rw + 1 End If End If End If Next End Sub Private Sub Worksheet_BeforeDoubleClick _ (ByVal Target As Range, Cancel As Boolean) Cancel = True If Not Intersect(Target, Range("C1:C128")) _ Is Nothing Then 'use your desired range With Target.Interior If .ColorIndex = 3 Then .ColorIndex = xlColorIndexNone Else .ColorIndex = 3 End If End With End If End Sub |
#2
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
try keeping your post within the same thread please. In
your original, you stated that If the value in D was 1 as well as the cell being red...however I'm not clear on your loop. when checking D9 your code looks at the color in C10 . Sub Test() dim cell as range End Sub -----Original Message----- Hi again, With the following code, command button 3 and 4 are supposed to perform the same function except that if corresponding cell (column C) is red, data pastes to a different cell (column G instead of F) I cant get this to work, it always pastes data to column G either way. I am in desperate need of help!!!!!!!! Private Sub CommandButton3_Click() CopyData Range("D9:D13"), "FEEDER" CopyData Range("D16:D58"), "MACHINE" CopyData Range("D63:D73"), "DELIVERY" CopyData Range("D78:D82"), "PECOM" CopyData Range("D88:D94"), "ROLLERS" CopyData Range("D104:D128"), "MISCELLANEOUS" Dim rng As Range, cell As Range Dim nrow As Long, rw As Long Dim Sh As Worksheet Set rng = Range("D9:D94") nrow = Application.CountIf(rng, "0") Set Sh = Worksheets("VK new") Debug.Print Sh.Range("A10").Resize(nrow * 1, 1).EntireRow.Address(external:=True) ' sh.Range("A10").Resize(nrow * 1).EntireRow.Insert rw = 10 For Each cell In Range("D9:D98") If Not IsEmpty(cell) Then If IsNumeric(cell) Then If cell 0 Then Cells(cell.Row, 1).Copy Sh.Cells(rw, "A").PasteSpecial Paste:=xlPasteValues Cells(cell.Row, 4).Copy Sh.Cells(rw, "F").PasteSpecial Paste:=xlPasteValues rw = rw + 1 End If End If End If Next End Sub Private Sub CommandButton4_Click() CopyData Range("D9:D13"), "FEEDER" CopyData Range("D16:D58"), "MACHINE" CopyData Range("D63:D73"), "DELIVERY" CopyData Range("D78:D82"), "PECOM" CopyData Range("D88:D94"), "ROLLERS" CopyData Range("D104:D128"), "MISCELLANEOUS" Dim rng As Range, cell As Range Dim nrow As Long, rw As Long Dim Sh As Worksheet Set rng = Range("D9:D94") nrow = Application.CountIf(rng, "0") Set Sh = Worksheets("VK new") Debug.Print Sh.Range("A10").Resize(nrow * 1, 1).EntireRow.Address(external:=True) ' sh.Range("A10").Resize(nrow * 1).EntireRow.Insert rw = 10 For Each cell In Range("D9:D98") If Not IsEmpty(cell) Then If IsNumeric(cell) Then If cell(rw, "C").Interior.ColorIndex = 3 And cell (rw, "D").Value 1 Then ElseIf cell 0 Then Cells(cell.Row, 1).Copy Sh.Cells(rw, "A").PasteSpecial Paste:=xlPasteValues Cells(cell.Row, 4).Copy Sh.Cells(rw, "G").PasteSpecial Paste:=xlPasteValues rw = rw + 1 End If End If End If Next End Sub Private Sub Worksheet_BeforeDoubleClick _ (ByVal Target As Range, Cancel As Boolean) Cancel = True If Not Intersect(Target, Range("C1:C128")) _ Is Nothing Then 'use your desired range With Target.Interior If .ColorIndex = 3 Then .ColorIndex = xlColorIndexNone Else .ColorIndex = 3 End If End With End If End Sub . |
#3
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
sorry...tab sent off the mail :(
Sub Checker() Dim cell as range For Each cell In Range("D9:D98") If Not IsEmpty(cell) Then If IsNumeric(cell.Value) Then If cell(cell.row, "C").Interior.ColorIndex = 3 _ And _ cell.Value 1 Then cells(cell.Row,"G").Value = Cell.Value End If End If End If Nexr End Sub -----Original Message----- Hi again, With the following code, command button 3 and 4 are supposed to perform the same function except that if corresponding cell (column C) is red, data pastes to a different cell (column G instead of F) I cant get this to work, it always pastes data to column G either way. I am in desperate need of help!!!!!!!! Private Sub CommandButton3_Click() CopyData Range("D9:D13"), "FEEDER" CopyData Range("D16:D58"), "MACHINE" CopyData Range("D63:D73"), "DELIVERY" CopyData Range("D78:D82"), "PECOM" CopyData Range("D88:D94"), "ROLLERS" CopyData Range("D104:D128"), "MISCELLANEOUS" Dim rng As Range, cell As Range Dim nrow As Long, rw As Long Dim Sh As Worksheet Set rng = Range("D9:D94") nrow = Application.CountIf(rng, "0") Set Sh = Worksheets("VK new") Debug.Print Sh.Range("A10").Resize(nrow * 1, 1).EntireRow.Address(external:=True) ' sh.Range("A10").Resize(nrow * 1).EntireRow.Insert rw = 10 For Each cell In Range("D9:D98") If Not IsEmpty(cell) Then If IsNumeric(cell) Then If cell 0 Then Cells(cell.Row, 1).Copy Sh.Cells(rw, "A").PasteSpecial Paste:=xlPasteValues Cells(cell.Row, 4).Copy Sh.Cells(rw, "F").PasteSpecial Paste:=xlPasteValues rw = rw + 1 End If End If End If Next End Sub Private Sub CommandButton4_Click() CopyData Range("D9:D13"), "FEEDER" CopyData Range("D16:D58"), "MACHINE" CopyData Range("D63:D73"), "DELIVERY" CopyData Range("D78:D82"), "PECOM" CopyData Range("D88:D94"), "ROLLERS" CopyData Range("D104:D128"), "MISCELLANEOUS" Dim rng As Range, cell As Range Dim nrow As Long, rw As Long Dim Sh As Worksheet Set rng = Range("D9:D94") nrow = Application.CountIf(rng, "0") Set Sh = Worksheets("VK new") Debug.Print Sh.Range("A10").Resize(nrow * 1, 1).EntireRow.Address(external:=True) ' sh.Range("A10").Resize(nrow * 1).EntireRow.Insert rw = 10 For Each cell In Range("D9:D98") If Not IsEmpty(cell) Then If IsNumeric(cell) Then If cell(rw, "C").Interior.ColorIndex = 3 And cell (rw, "D").Value 1 Then ElseIf cell 0 Then Cells(cell.Row, 1).Copy Sh.Cells(rw, "A").PasteSpecial Paste:=xlPasteValues Cells(cell.Row, 4).Copy Sh.Cells(rw, "G").PasteSpecial Paste:=xlPasteValues rw = rw + 1 End If End If End If Next End Sub Private Sub Worksheet_BeforeDoubleClick _ (ByVal Target As Range, Cancel As Boolean) Cancel = True If Not Intersect(Target, Range("C1:C128")) _ Is Nothing Then 'use your desired range With Target.Interior If .ColorIndex = 3 Then .ColorIndex = xlColorIndexNone Else .ColorIndex = 3 End If End With End If End Sub . |
#4
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
I apologise for any confusion.
Do i simply insert this with my existing code?? Where should i insert it?? Thank you!! "Patrick Molloy" wrote in message ... sorry...tab sent off the mail :( Sub Checker() Dim cell as range For Each cell In Range("D9:D98") If Not IsEmpty(cell) Then If IsNumeric(cell.Value) Then If cell(cell.row, "C").Interior.ColorIndex = 3 _ And _ cell.Value 1 Then cells(cell.Row,"G").Value = Cell.Value End If End If End If Nexr End Sub -----Original Message----- Hi again, With the following code, command button 3 and 4 are supposed to perform the same function except that if corresponding cell (column C) is red, data pastes to a different cell (column G instead of F) I cant get this to work, it always pastes data to column G either way. I am in desperate need of help!!!!!!!! Private Sub CommandButton3_Click() CopyData Range("D9:D13"), "FEEDER" CopyData Range("D16:D58"), "MACHINE" CopyData Range("D63:D73"), "DELIVERY" CopyData Range("D78:D82"), "PECOM" CopyData Range("D88:D94"), "ROLLERS" CopyData Range("D104:D128"), "MISCELLANEOUS" Dim rng As Range, cell As Range Dim nrow As Long, rw As Long Dim Sh As Worksheet Set rng = Range("D9:D94") nrow = Application.CountIf(rng, "0") Set Sh = Worksheets("VK new") Debug.Print Sh.Range("A10").Resize(nrow * 1, 1).EntireRow.Address(external:=True) ' sh.Range("A10").Resize(nrow * 1).EntireRow.Insert rw = 10 For Each cell In Range("D9:D98") If Not IsEmpty(cell) Then If IsNumeric(cell) Then If cell 0 Then Cells(cell.Row, 1).Copy Sh.Cells(rw, "A").PasteSpecial Paste:=xlPasteValues Cells(cell.Row, 4).Copy Sh.Cells(rw, "F").PasteSpecial Paste:=xlPasteValues rw = rw + 1 End If End If End If Next End Sub Private Sub CommandButton4_Click() CopyData Range("D9:D13"), "FEEDER" CopyData Range("D16:D58"), "MACHINE" CopyData Range("D63:D73"), "DELIVERY" CopyData Range("D78:D82"), "PECOM" CopyData Range("D88:D94"), "ROLLERS" CopyData Range("D104:D128"), "MISCELLANEOUS" Dim rng As Range, cell As Range Dim nrow As Long, rw As Long Dim Sh As Worksheet Set rng = Range("D9:D94") nrow = Application.CountIf(rng, "0") Set Sh = Worksheets("VK new") Debug.Print Sh.Range("A10").Resize(nrow * 1, 1).EntireRow.Address(external:=True) ' sh.Range("A10").Resize(nrow * 1).EntireRow.Insert rw = 10 For Each cell In Range("D9:D98") If Not IsEmpty(cell) Then If IsNumeric(cell) Then If cell(rw, "C").Interior.ColorIndex = 3 And cell (rw, "D").Value 1 Then ElseIf cell 0 Then Cells(cell.Row, 1).Copy Sh.Cells(rw, "A").PasteSpecial Paste:=xlPasteValues Cells(cell.Row, 4).Copy Sh.Cells(rw, "G").PasteSpecial Paste:=xlPasteValues rw = rw + 1 End If End If End If Next End Sub Private Sub Worksheet_BeforeDoubleClick _ (ByVal Target As Range, Cancel As Boolean) Cancel = True If Not Intersect(Target, Range("C1:C128")) _ Is Nothing Then 'use your desired range With Target.Interior If .ColorIndex = 3 Then .ColorIndex = xlColorIndexNone Else .ColorIndex = 3 End If End With End If End Sub . |
#5
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
Yes. With the current code, if column D is greater than 1, copy/paste occurs
to VKnew. What i would like is, with the same criterea except that if corresponding cell in column C is red then the data is to paste to a different column on VKnew. It is for a user to select options by highlighting a cell red, indicating it as an option. Thank you!! "Patrick Molloy" wrote in message ... try keeping your post within the same thread please. In your original, you stated that If the value in D was 1 as well as the cell being red...however I'm not clear on your loop. when checking D9 your code looks at the color in C10 . Sub Test() dim cell as range End Sub -----Original Message----- Hi again, With the following code, command button 3 and 4 are supposed to perform the same function except that if corresponding cell (column C) is red, data pastes to a different cell (column G instead of F) I cant get this to work, it always pastes data to column G either way. I am in desperate need of help!!!!!!!! Private Sub CommandButton3_Click() CopyData Range("D9:D13"), "FEEDER" CopyData Range("D16:D58"), "MACHINE" CopyData Range("D63:D73"), "DELIVERY" CopyData Range("D78:D82"), "PECOM" CopyData Range("D88:D94"), "ROLLERS" CopyData Range("D104:D128"), "MISCELLANEOUS" Dim rng As Range, cell As Range Dim nrow As Long, rw As Long Dim Sh As Worksheet Set rng = Range("D9:D94") nrow = Application.CountIf(rng, "0") Set Sh = Worksheets("VK new") Debug.Print Sh.Range("A10").Resize(nrow * 1, 1).EntireRow.Address(external:=True) ' sh.Range("A10").Resize(nrow * 1).EntireRow.Insert rw = 10 For Each cell In Range("D9:D98") If Not IsEmpty(cell) Then If IsNumeric(cell) Then If cell 0 Then Cells(cell.Row, 1).Copy Sh.Cells(rw, "A").PasteSpecial Paste:=xlPasteValues Cells(cell.Row, 4).Copy Sh.Cells(rw, "F").PasteSpecial Paste:=xlPasteValues rw = rw + 1 End If End If End If Next End Sub Private Sub CommandButton4_Click() CopyData Range("D9:D13"), "FEEDER" CopyData Range("D16:D58"), "MACHINE" CopyData Range("D63:D73"), "DELIVERY" CopyData Range("D78:D82"), "PECOM" CopyData Range("D88:D94"), "ROLLERS" CopyData Range("D104:D128"), "MISCELLANEOUS" Dim rng As Range, cell As Range Dim nrow As Long, rw As Long Dim Sh As Worksheet Set rng = Range("D9:D94") nrow = Application.CountIf(rng, "0") Set Sh = Worksheets("VK new") Debug.Print Sh.Range("A10").Resize(nrow * 1, 1).EntireRow.Address(external:=True) ' sh.Range("A10").Resize(nrow * 1).EntireRow.Insert rw = 10 For Each cell In Range("D9:D98") If Not IsEmpty(cell) Then If IsNumeric(cell) Then If cell(rw, "C").Interior.ColorIndex = 3 And cell (rw, "D").Value 1 Then ElseIf cell 0 Then Cells(cell.Row, 1).Copy Sh.Cells(rw, "A").PasteSpecial Paste:=xlPasteValues Cells(cell.Row, 4).Copy Sh.Cells(rw, "G").PasteSpecial Paste:=xlPasteValues rw = rw + 1 End If End If End If Next End Sub Private Sub Worksheet_BeforeDoubleClick _ (ByVal Target As Range, Cancel As Boolean) Cancel = True If Not Intersect(Target, Range("C1:C128")) _ Is Nothing Then 'use your desired range With Target.Interior If .ColorIndex = 3 Then .ColorIndex = xlColorIndexNone Else .ColorIndex = 3 End If End With End If End Sub . |
#6
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
Hi patrick
im still having trouble with this. how do i implement it?? Sorry, am a novice at this! Thank you!!!! |
Reply |
Thread Tools | Search this Thread |
Display Modes | |
|
|
![]() |
||||
Thread | Forum | |||
whats wrong with this? | Excel Discussion (Misc queries) | |||
Whats wrong with this OR formula? | Excel Worksheet Functions | |||
whats wrong with the formula? | Excel Worksheet Functions | |||
Whats wrong with this? | Excel Discussion (Misc queries) | |||
Whats Wrong with this?? | Excel Worksheet Functions |