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?
I am trying to create a userform that is reusable by turning on and off diff objects, and reusing objects. I am running into a little difficulty of resizing the list box for various lengths if items Example would be if I have a list of items and the longest one is 93 chars long, I need a width of 672 When I have a list that the items are each 5 chars long, I need a listbox width of 92
For simplicity's sake, I am using Courier (supposed to be a monospaced font) pitch is 10. I would have figured that my width would be simply a matter of finding the longest length in the list and then multiply that times some magical number that represents the width of the letter (since monospaced, each letter should be the same).
But, with the 93 char long string, the "average length" of each letter seems to be 7.2 (672/93 = ~7.2) but for the shorter words, it seems to be wider at 18 (92/5 = ~18)
Is there a way to have the listbox size itself to the width of the strings?
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 would like to know if it's possible to change width of different cells in a single column? Example:
Width of cell A1 would be 10, and width of cell A2 would be 15. Can it be done? If yes how, if no damn. The reason I ask is because I trying to fit a report on one page with a chart and a month worth of data, but some cells are to long and they get cut off.
Suppose I have the following UDF, which returns the width of the column, but when the column width change (increase or decrease), the UDF is not able to recalculate the column width...what should I do? .....
I need to know how to format columns in a spreadsheet. What I want to do is autofit the columns, all except for Column A; I want that want at a fixed width of 9. The code below is my attempt to do this, and it's not resulting as I wish. Stepping through the code, it performs the first part beautifully and autofits all of the columns. Where I have the line
For the past 4 months I have been desperate to find a way to split my sheet so that I can determine the column widths above and below that point independently.
For example:
small width from a1-b1 but really large width from a2-b2
This is the scene. Imagine 2 lists of data, each list 2 columns wide (like 2 lists of names and phone numbers). List 1 covers column A and B, List 2 covers column D and E. I want it so that on the push of a button, columns A-E are automatically resized to be just big enough for their longest content, and column C resizes so that column D is on the next page.
The general idea is that you can print the sheet, and put together the pages relating to the seperate lists.
Scenario: Two computers running Windows 7 (64-bit Professional) with Excel 2007, same processor, same hard drive, same memory, same everything except the monitors - see below
Computer 1: HP LA2006x monitor (20" viewable diagonal) @ 1600x900 resolution, 91.79 PPI Computer 2: HP LA2206x monitor (21.5" viewable diagonal) @ 1920x1080 resolution, 102.46 PPI
We have an Excel spreadsheet that the column widths on columns A through K must equal exactly 6, 1, 6, 1, 8, 1, 13, 2, 8, 1, and 35 respectively in order for the data to be imported into another program. These exact column widths are set on Computer 1 and the .xslx file is saved to a network location.
Computer 2 opens the .xslx file from the exact same network location. The column widths display as 5.86, 0.92, 5.86, 0.92, 12.84; not the exact columns listed above. So if anyone needs to export the data from Computer 2, they have to manually adjust the column widths or run a macro to auto adjust the column widths.
My question, is there anything I can do on Computer 1 or Computer 2 to make it so the column widths are saved and open correctly no matter which one is saving and which one is opening? The 20" monitor on computer 1 cannot display the 1920x1080 resolution... already tried that.
im trying to create a two column listbox that will transfer both columns to the listbox on the right and also transfer from the right to left currently right to left works but when I trasnfer from the left to right then the right to left only one column is moved.
I have another table with 1.875" cell widths. Good.
I want both tables on the same page, one under the other. Hard.
How can I achieve this? Is there a way to have the column widths of one table independent of the other on the same page? Is there a workaround that would achieve the same effect?
I have made a spread sheet where the row 1 - 20 are 12 wide but I'd like rows 20-25 to be a lot wider. I've looked around and can't find the solution since I don't know how to explain it in a few short words.
I can automate chart creation in VBA, but is there any way to also have it such that the x-axis of the chart begins with the minimum x-value and ends with the maximum x-value in the data set?
I need a formula to calculate the sum of a range of rows.
Example:
If rows 1-10 have a width of 12.75 each, and rows 11-15 have a width of 15.5 each. I need a formula to tell me that the sum of the widths of rows 1 to 15 is 205.
I am trying to set up a listbox on a userform that will draw from 2 columns. The first column is an abbreviation of the phrase in the second column as shown below. When the user clicks the listbox arrow I want them to see the descriptor of the 1 - 3 character code since they are not always intuitive. When the selection is made I want the form to capture only the code.
IP In Progress AMAwaiting Materials ADAwaiting Design CPCompleted.
I have lots of files I need to read every day. I need to read them in as fixed width - EX: column A is 1-8, column B is 9-12, column C is 13-22, etc. Is there a way to create a VBA macro or something so that I don't have to point and click to draw lines every day when I read in these files?
Is there any way to measure the width of text in a cell in points? I know that the width of the cell is returned using the Width property.
I also know that the number of characters in the text can be returned using the LEN() function, but I don't believe the number of characters can be converted to points (because some characters are different widths, if I'm not mistaken)
if it is possible to change the border thickness weight via points? Eg., "1/4 pt".
I find that the xlthin border prints too thick. The only way I've been able to reduce it to appearing thin when it prints is by choosing the second option under "None" in the Line Style option of the Format Cells dialog box.
While that approach prints a thin border, it is actually a dotted line and looks a bit odd on screen.
I have a four column listbox where 4th column is percentage. In my source worksheet cells are formatted as percentage but when this is displayed in list box it shows approximately 10 decimals or maybe even more. How can I change my code only to show two decimals in 4th column?