ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Programming (https://www.excelbanter.com/excel-programming/)
-   -   copying range column widths (https://www.excelbanter.com/excel-programming/287891-copying-range-column-widths.html)

rexsalius

copying range column widths
 
Greetings

Is there a quick way to apply a range's column widths to another range

For example, a user may populate a query table, delete some columns, adjust some columns to their liking, and then copy that modified range to another worksheet

I can copy and paste a ranges's data into another worksheet, but I can't (easily) preserve the column widths of the original range. Is there some slick code to copy the original ranges's column widths to the copied ranges columns without looping

Thanks a lot

Ron de Bruin

copying range column widths
 
If you use Excel 2000 or higher you can use PasteSpecial

Sheets("Sheet1").Range("A1:D1").Copy
Sheets("Sheet2").Range("a1").PasteSpecial Paste:=8
' Paste:=8 will copy the column width in Excel 2000 and higher
Application.CutCopyMode = False


--
Regards Ron de Bruin
(Win XP Pro SP-1 XL2000-2003)
www.rondebruin.nl



"rexsalius" wrote in message ...
Greetings,

Is there a quick way to apply a range's column widths to another range?

For example, a user may populate a query table, delete some columns, adjust some columns to their liking, and then copy that

modified range to another worksheet.

I can copy and paste a ranges's data into another worksheet, but I can't (easily) preserve the column widths of the original

range. Is there some slick code to copy the original ranges's column widths to the copied ranges columns without looping?

Thanks a lot




Beto[_3_]

copying range column widths
 
rexsalius wrote:
Greetings,

Is there a quick way to apply a range's column widths to another range?

For example, a user may populate a query table, delete some columns, adjust some columns to their liking, and then copy that modified range to another worksheet.

I can copy and paste a ranges's data into another worksheet, but I can't (easily) preserve the column widths of the original range. Is there some slick code to copy the original ranges's column widths to the copied ranges columns without looping?


Here is another way that doesn't involve selection of the range.

Sub CopyColumnWidths()
For i = 1 To Range("A:J").Columns.Count
Sheets("Sheet2").Range("A:J").Columns(i).ColumnWid th = _
Sheets("Sheet1").Range("A:J").Columns(i).ColumnWid th
Next i
End Sub

Regards,
--
Beto
Reply: Erase between the dot (inclusive) and the @.
Responder: Borra la frase obvia y el punto previo.



All times are GMT +1. The time now is 11:06 PM.

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