Home |
Search |
Today's Posts |
|
#1
![]() |
|||
|
|||
![]()
If I copy a range of cells (either one row, or several rows and colums) from
one work sheet to another the shading, font, data, borders, etc, all copy over to the new worksheet, but the column widths and row heights do not copy over. It seems that in older versions of Excel (I'm using Office 2003) I could use Paste Special|Formats, but this doesn't seem to work in Office 2003. Any suggestions? |
#2
![]() |
|||
|
|||
![]()
Hi
You can actually copy the column widths, but you have to repaste as Special, and then select Column Widths. So you do CtrlC, go to destination, right click on Paste Special, select All, click on OK, right click on destination, select Paste Special, click on column widths, and then on OK. I do not know about row heights though. "Kingstonsean" wrote: If I copy a range of cells (either one row, or several rows and colums) from one work sheet to another the shading, font, data, borders, etc, all copy over to the new worksheet, but the column widths and row heights do not copy over. It seems that in older versions of Excel (I'm using Office 2003) I could use Paste Special|Formats, but this doesn't seem to work in Office 2003. Any suggestions? |
#3
![]() |
|||
|
|||
![]()
Thanks. Sorta makes you wonder what "All" is for...
"Kassie" wrote: Hi You can actually copy the column widths, but you have to repaste as Special, and then select Column Widths. So you do CtrlC, go to destination, right click on Paste Special, select All, click on OK, right click on destination, select Paste Special, click on column widths, and then on OK. I do not know about row heights though. "Kingstonsean" wrote: If I copy a range of cells (either one row, or several rows and colums) from one work sheet to another the shading, font, data, borders, etc, all copy over to the new worksheet, but the column widths and row heights do not copy over. It seems that in older versions of Excel (I'm using Office 2003) I could use Paste Special|Formats, but this doesn't seem to work in Office 2003. Any suggestions? |
#4
![]() |
|||
|
|||
![]()
Could never figure that one out myself! glad I coul have been of assistance
"Kingstonsean" wrote: Thanks. Sorta makes you wonder what "All" is for... "Kassie" wrote: Hi You can actually copy the column widths, but you have to repaste as Special, and then select Column Widths. So you do CtrlC, go to destination, right click on Paste Special, select All, click on OK, right click on destination, select Paste Special, click on column widths, and then on OK. I do not know about row heights though. "Kingstonsean" wrote: If I copy a range of cells (either one row, or several rows and colums) from one work sheet to another the shading, font, data, borders, etc, all copy over to the new worksheet, but the column widths and row heights do not copy over. It seems that in older versions of Excel (I'm using Office 2003) I could use Paste Special|Formats, but this doesn't seem to work in Office 2003. Any suggestions? |
#5
![]() |
|||
|
|||
![]()
That didn't work any differently in older versions. The pastespecial
columnwidths as a separate option was added in xl2000 as I recall. ColumnWidth is an attribute of the entire column. RowHeight is an attribute of the entirerow. Since you are not copying the entirecolumn or entirerow, that format is not copied. -- Regards, Tom Ogilvy "Kassie" wrote in message ... Could never figure that one out myself! glad I coul have been of assistance "Kingstonsean" wrote: Thanks. Sorta makes you wonder what "All" is for... "Kassie" wrote: Hi You can actually copy the column widths, but you have to repaste as Special, and then select Column Widths. So you do CtrlC, go to destination, right click on Paste Special, select All, click on OK, right click on destination, select Paste Special, click on column widths, and then on OK. I do not know about row heights though. "Kingstonsean" wrote: If I copy a range of cells (either one row, or several rows and colums) from one work sheet to another the shading, font, data, borders, etc, all copy over to the new worksheet, but the column widths and row heights do not copy over. It seems that in older versions of Excel (I'm using Office 2003) I could use Paste Special|Formats, but this doesn't seem to work in Office 2003. Any suggestions? |
#6
![]() |
|||
|
|||
![]()
Don't know if you are interested in vba solution, but if you are, read on.
I had similar problem today. I wrote the following vba macro. It has not been well tested, but it worked for me and I hope it helps you. You can put into personal.xls. I also have a macro in personal.xls which I have assign to ctlr shift n. Sub askmacro() s = Trim(LCase(InputBox("enter macro code"))) If Right(s, 1) = "s" Then s = Left(s, Len(s) - 1) If s = "" Then Exit Sub Select Case s Case "pastediff": Call PasteSpecialHighlightDifference Case "rtrim": Call myRtrimall Case "paste45", "ps45": Call PasteHdgs45 Case "psrowheight": Call PasteSpecialRowHeights Case Else MsgBox s & "=no such shortcut" End End Select End Sub ------------------------------- Sub PasteSpecialRowHeights() ' Excel's EditPasteSpecial allows you to paste column widths, but not row heights. ' this macro exends that function ' ' to use macro: ' 1 format some rows to have your "ideal row heights" ' 2 select those full rows and copy them to the clipboard ' 3 navigate to the top left cell where you want to paste the row heights ' 4 call macro. ' the destination cells will now have the ideal heights ' future enhancement 1: I don't like requiring user to select full ' rows before they copy. ' this would make it possible for PasteSpecialRowHeights and ' pastespecialcolumnWidths to both use the same clipboard ' future enhancement 2: if target rectangle is more than one cell, ' restrict paste so only the selected rectangle is pasted ' future enhancement 3: bundle together 3 function: ' paste data ' paste row heights ' paste column widths ' ' to test current version quickly add the following steps ' select the ideal rows then Insert Name Define "testsrc" ' select the top left cell in your target area and Insert Name Define "testtgt" ' change constant to say "const testmode = true" Const testmode = False If testmode Then Application.Goto ("testsrc") Selection.Copy Application.Goto ("testtgt") End If Set tgtsheet = ActiveSheet Set tgtsel = Selection Set tgtact = ActiveCell ActiveWorkbook.Worksheets.Add newsheetname = ActiveSheet.name Set TempSheet = ActiveSheet Selection.Insert Shift:=xlToDown Dim c As Long For c = 1 To TempSheet.UsedRange.Rows.Count tgtsel.Rows(c).RowHeight = TempSheet.Rows(c).RowHeight Next c chgix = 0 If chgix = 0 Then Application.DisplayAlerts = False TempSheet.Delete Application.DisplayAlerts = True tgtsheet.Activate tgtsel.Select tgtact.Activate Else MsgBox chgix & " future use" End If End Sub Quote:
|
Reply |
Thread Tools | Search this Thread |
Display Modes | |
|
|
![]() |
||||
Thread | Forum | |||
Can't Copy and Paste or Paste Special between Excel Workbooks | Excel Discussion (Misc queries) | |||
paste special | values should work with merged cells | Excel Discussion (Misc queries) | |||
Paste Special | Excel Discussion (Misc queries) | |||
"paste special" "paste link" | Excel Discussion (Misc queries) | |||
paste special (values) | Excel Worksheet Functions |