Autofit Only Current Cell Column To That Cell Width
Dec 15, 2011
When I'm moving around in an Excel sheet, I want to have a keyboard shortcut that Autofits only the column I am "in", and only to the width of the cell I'm "in". So I can arrow-key into a cell, hit ctrl-shift-W or whatever, and the column will autofit.
I try Cells.EntireColumn.AutoFit but that's not what I want, it autofits every column. Sometimes this is not appropriate and I want to do it manually for the columns I want auto-fit.
I guess the more general question is how do I write VBA code for the column I am in and not every column or a specific column - not Columns("A:I") or whatever, it's going to be a different column every time depending on what cell I'm editing.
3. All the other cells in that row are shaded blue. Look at these.
4. Look at the "Volunteer" row - all the cells in that row are shaded blue. Look at these.
5. Wherever a name - any name - appears in the "Volunteer" row, 1 is added to the previous number in the "Days so far" section and the result is displayed in cell from the "Days so far" row above that Volunteer's name.
6. For example, we begin in C1 with a count of 12 days so far - this was manually entered
7. In cell H5, we see Henry has volunteered 1 day. The total no. of days so far should now be 12+1. Therefore, the number in H1 should be 13.
8. In cell G47, we see Joseph has volunteered 1 day. The total number of days volunteered BEFORE Joseph volunteered is 15 (see cell D43). But now, with Joseph volunteering 1 day, the total no. of days so far should now be 15+1. Therefore, the number in G43 should be 16.
9. what formula l must put in the "Days so far" row (excluding cell C1, which is manually input) to give me the "should be" results predicted in that row? I'm guessing it will be a formula which looks at each row fragment of the "Days so far" row, row by row, right up to the previous cell in that row, all within one formula.
P.S. I just want to leave the "Days so far" row blank, for any columns where there are no volunteers in the "Volunteer" row, so please don't give a formula which inserts zero for days with no volunteer, and then sums the cumulative total.
Is it possible to adjust a cells' column width without the whole column width changing? EXAMPLE...I'm looking to lock rows 1-41 at certain column widths and change the column width as needed from rows 42 and below.
I'm using Office 2007 professional and I'm trying to format a cell (merged cell) so that when you enter text and it goes beyond the size of the designed cell that it will automatically continue and shift the additional text downward, like a paragraph. Also it shift everything below down with it. Is this possible? I have already tried wrap text field and AutoFit row height. This keeps it within the cell but it is not visible or printable once you tab out. I would like to have it continue like in a paragraph. Like a word doc may do. It’s visible and it shifts everything below downward as it grows, which also allows it to be printable.
I have a vba script that matches a date on two sheets then copies a formula based on the location of the date, the problem I am having is how can I refer to the activecell and active column without typing them manually as the range will change each day. See vba script below:
VB: Sub find_date() Dim FindString As String Dim Rng As Range
I have a document that I created that has merged cells. In order to autofit the rows of this document, I referenced the merged cells in singular cells that are not visible to the users of the document. (They are not hidden)
It had been working relatively nicely, but now the autofit function is not working correctly. If I copy and paste values into the cell it will work, but this would not be my ideal solution. I have tried playing with the number format, which works for the most part if I set it to "&" - text. It doesn't work for some longer cells with line breaks in them.
trying to find the value of column A (date field) if it exists on the row that the cursor is presently on. I'm trying to check for the value before performing the next function to make sure the user is on a valid row. Cursor could be on any column A to F. Columns are always 6 but the rows can vary.
I have some Worksheets in which cell A1 contains a textual heading for each Worksheet. On each Worksheet, cells in the range A2 to O5 containg headings; the data goes in rows 6 onwards.
In VBA script, I'd like to autofit columns A to O, but starting at row 2 so the text in A1 is not included. For each sheet, I can determine the last row, to get a "range" to autofit (e.g. "A2:P15").
I've run a search on Autofit; the only examples I can find autofit the whole column or set of columns.
Is it possible to autofit starting at a specific row?
I am trying to found or create a formula that will display cell width to the decimal place.
I can use the formula Cell("width"), but it rounds to the nearest integer. I need to display the decimals. For instance, if the actual column width is 8.43, the Cell("Width") formula will display 8. I need it to show 8.43.
But the number of columns is dynamic, so I don't know which one is the end. So I have the column number but cannot figure out how to reference the column range by number. I have tried versions of the code below but they all give different errors. This one is Run-time error 1004 Application-defined or object-defined error.
I've got a Listbox in a User form that looks at data on another spreadsheet purely for informational purposes, not to be selected. I have two problems with what it's doing:
1) There are 23 columns, of varying widths. However the listbox uses a standard width, so some items are truncated and some have too much room.
2) The data changes, and the number of rows may change from 2 to 15000. I've set the RowSource to cover the ranged from A1:W15000, but if only 2-300 lines are selected the user can't grab the scrollbar button to scroll through, but must instead use the arrow, which is rather slow.
Is there any way to set the column widths to match the data, and the Range to only go as far as the last populated row?
The following code expands a cell width to size 42 when it is clicked on, then minimises it to size 9.29 when clicked elsewhere. Just what I need.
For instance, this would work for column 4.
VB: Private Sub Worksheet_SelectionChange(ByVal Target As Range) Columns(4).ColumnWidth = IIf(Target.Column = 4, 42, 9.29) End Sub
However, I need this to cover the first 1000 columns. More if possible. I can easily copy this 1000 times, changing the column number to then look like this (First 10 shown for example)
The problem is if I do this 1000 times i get a Compile error that the procedure is too large. Is it possible to make the code more compact to basically cover all columns from 4 onward?
I would like to know if there is a way to expand the selection of cells from the current cell you are on to the very bottom cell available in the spreadsheet.
For example, I want to apply a formula from A12 - the very last A cell row in the spreadsheet.
I have drop drown menus that allow you to select 1 of 3 choices and based on those a second set which lists the options for the first three (subset). Now depending on the second value I need to pull a set of x y coordinates that can be of varying length. '
Example
Drop down menu 1 1560, 1669, 1554. Drop down menu 2 1560-1,2,3,4 1669-a,b,c,d. This has been done now lets say I select 1560-1. I need the following to be pulled from a list, the data is a block.
I require a macro to enable a selected shape to be moved from current cell location to relative position but 1 row up. eg topleft address = A4 and shift shape to topleft address = A3
I have 2 workbooks, A (source) and B (destination). Workbook A has 1 sheet named 'master' and has 10 columns a:j
I would like to copy a range of data in worksheet 'master' for entire 10 columns while the cell value (moving down worksheet) of the next cell in column A is greeater than the current cell. eg. if cell values of range a1:a6 = 1 then cell value a7 =2, then copy range a1:j6 to workbook B in sheet 'r1'.
Then I would like to go back to Workbook A sheet 'master' and begin process again starting from where it left off at a7.
I've been pounding away at a project for two days trying to determine a way to identify a solution, to no avail.
Here is some experimental code. Under the assumption that in Column "A", every fifth line contains some text (a, b, c, etc) I want to place a function in column B that would identify the closest occupied cell above and to the left of the cell containing the function. The sub achieves this, but the function has a problem because of the Activecell line. Is there a way to identify the location of the cell containing the function to act as a reference point for the range?
Sub find_last_heading() Application.ScreenUpdating = False x = ActiveCell.Address ActiveCell.Offset(0, -1).Select last_heading = ActiveCell.Text Do Until last_heading "" ActiveCell.Offset(-1, 0).Select last_heading = ActiveCell.Text Loop MsgBox last_heading Range(x).Select End Sub Function cathead(Optional reference)
I needed to match the width a merged area of seven columns to a single column width (for row autofitting). Adding the column unit values and setting the single column to that value produced a significantly narrower width.
The documentation mentions that the column width unit is scaled to the font type and size and the absolute width is given in points.
This is set by the normal style setting in Excel Options or by VBA application.standardfontsize = 8 (in this case).
For instance, ten columns of Arial font 8 at 8.5 units you would think to be equivalent to a single column of 85 units. In points, the difference is 420 vs. 386.25, or 33.75 points.
Well, the standard character zero has a width at this setting of 4.5 points and 1 unit is 8.25 points, leaving 3.75 points for margins.
Then (10-1) margins allowances time 3.75 points resolves the difference.
Determining the margin allowances is straightforward, and reveals that the gradation with size is stepped by MS design. For instance, sizes up to 11 use 3.75 points for margins and increasing points for characters (except between 9 & 10). Sizes 12 through 18 use 5.25 points, 20 & 22 use 6.75, 24 & 26 use 8.25, etc.
I have created a table for this purpose, however I rarely use a "normal" other than 8, so I can probably use that set in programming.
I am having a small problem with microsoft excel 2007.the problem is that: my excel 2007 cannot display tooltip of the column width when I keep and drag left mouse
Show tooltip of the column width as attached file.
I also tried many ways to find settings of advance menu. But cannot.
I am looking for a way to avoid the circular reference issue. I would like to monitor a cell that is being incremented and decremented so that I can automatically retain the highest and the lowest values that were entered into that specific cell over time. Since the data is only entered into that specific cell and not retained in for example a column, the MAX/MIN option is not usable in this case.
More simply stated, is there a way to put a formula in a specific cell ( A1 ) that will equal the target cell ( B1 ) only when that target cell ( B1 ) is greater than A1?
I'm trying to create a vb to get all columns on my sheet to have a fixed width. If I run my sub all columns go back to the set width. But I want the width to reset when the width is changed.
I set a column width to some integer like 10, and the next time I open the file it has changed to something like 9.89. Is there some configuration that prevents this from happening and leaves my setting alone?
I'm creating a map like image with Excel, and I've set the column width and row height to certain dimensions. Now I'm entering in some text into them, and I noticed that when I added in 2 digit numbers, the column width expanded a little bit. I want to prevent this from happening, and still be able to enter in the 2 digit text (since it WILL fit, and it's expanding to keep that extra bit of space).
the Ruler across the top that allows you to adjust the column widths (A B C D etc). Is it possible to insert another Ruler, further down the same page, to allow you to adjust the column width differently. if so how. On Excel 2007