ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Programming (https://www.excelbanter.com/excel-programming/)
-   -   Copy columns if (https://www.excelbanter.com/excel-programming/430438-copy-columns-if.html)

Kash

Copy columns if
 
Hi, I need to copy columns B, C & H only if Column L = M1 from
sheets("Totals") to sheets("July")

Can some body help me on this pls..

Patrick Molloy

Copy columns if
 
IF {condition} then

with Worksheets("Total")
.Columns("B").Copy Worksheets("July").Columns("B")
.Columns("C").Copy Worksheets("July").Columns("C")
.Columns("H").Copy Worksheets("July").Columns("H")
End With

end if

{condition}
I wasn't sure what you meant by
Column L = M1

??

"Kash" wrote in message
...
Hi, I need to copy columns B, C & H only if Column L = M1 from
sheets("Totals") to sheets("July")

Can some body help me on this pls..



Kash

Copy columns if
 

Sorry if I wasn't clear..

M1 is date

So, if L10:L30=M1 then I need corresponding rows form columns B, C & H only
to be copied to sheets("Totals") to sheets("July")

Rick Rothstein

Copy columns if
 

You can copy adjacent columns with one Copy method call (it is only
noncontiguous ranges that can't be handled by a single Copy method call)...

.Columns("B:C").Copy Worksheets("July").Range("B1")
.Columns("H").Copy Worksheets("July").Range("H1")

--
Rick (MVP - Excel)


"Patrick Molloy" wrote in message
...
IF {condition} then

with Worksheets("Total")
.Columns("B").Copy Worksheets("July").Columns("B")
.Columns("C").Copy Worksheets("July").Columns("C")
.Columns("H").Copy Worksheets("July").Columns("H")
End With

end if

{condition}
I wasn't sure what you meant by
Column L = M1

??

"Kash" wrote in message
...
Hi, I need to copy columns B, C & H only if Column L = M1 from
sheets("Totals") to sheets("July")

Can some body help me on this pls..




Kash

Copy columns if
 
I tried with below code, but getting 'Type mismatch' error in 1st line


If Worksheets("Totals").Columns("L") = Worksheets("Totals").Range("M2") Then

With Worksheets("Totals")
..Columns("B").Copy Worksheets("Sheet1").Columns("B")
..Columns("C").Copy Worksheets("Sheet1").Columns("C")
..Columns("H").Copy Worksheets("Sheet1").Columns("D")

End With
End If

Patrick Molloy

Copy columns if
 

my code was for copying the entire column, given that we were not clear
about your filter.
Now i understand that for each row, if the value in L matches the value in
cell M1, then just that row must be copied.

Using an Autofilter should work

Sub FilterMe()

Range("C1:L1").AutoFilter ' turn on the filter
Selection.AutoFilter Field:=10, Criteria1:=Range("M1")
Range("C:D").Cells.SpecialCells(xlCellTypeVisible) .Copy
Sheets("Sheet2").Range("C1")
Range("H:H").Cells.SpecialCells(xlCellTypeVisible) .Copy
Sheets("Sheet2").Range("H1")
Range("C1:L1").AutoFilter ' turn off the filter
End Sub

"Kash" wrote in message
...
I tried with below code, but getting 'Type mismatch' error in 1st line


If Worksheets("Totals").Columns("L") = Worksheets("Totals").Range("M2")
Then

With Worksheets("Totals")
.Columns("B").Copy Worksheets("Sheet1").Columns("B")
.Columns("C").Copy Worksheets("Sheet1").Columns("C")
.Columns("H").Copy Worksheets("Sheet1").Columns("D")

End With
End If




All times are GMT +1. The time now is 09:53 AM.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
ExcelBanter.com