Reply
 
LinkBack Thread Tools Search this Thread Display Modes
  #1   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 1
Default stuck with Auto column fit

i want to search ######## values in a sheet. if found then i have to apply
auto column fit. (## values have appeared coz the width of the column is
smaller than the value)these cells actually containg value but showing ###
coz of width.. need a vba code for this

url:http://www.ureader.com/gp/1037-1.aspx
  #2   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 1,565
Default stuck with Auto column fit

This is from VBA help file:

Example
This example changes the width of columns A through I on Sheet1 to achieve
the best fit.

Worksheets("Sheet1").Columns("A:I").AutoFit

This example changes the width of columns A through E on Sheet1 to achieve
the best fit, based only on the contents of cells A1:E1.

Worksheets("Sheet1").Range("A1:E1").Columns.AutoFi t



"vimalg" wrote in message
.. .
i want to search ######## values in a sheet. if found then i have to apply
auto column fit. (## values have appeared coz the width of the column is
smaller than the value)these cells actually containg value but showing ###
coz of width.. need a vba code for this

url:http://www.ureader.com/gp/1037-1.aspx



  #3   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 1,533
Default stuck with Auto column fit

Hi,

Maybe this is what you need:

Sub Macro1()
Dim col As Range
For Each col In ActiveSheet.UsedRange.Columns
col.EntireColumn.AutoFit
If col.ColumnWidth < 8.43 Then
col.ColumnWidth = 8.43
End If
Next
End Sub


"vimalg" skrev i meddelelsen
.. .
i want to search ######## values in a sheet. if found then i have to apply
auto column fit. (## values have appeared coz the width of the column is
smaller than the value)these cells actually containg value but showing ###
coz of width.. need a vba code for this

url:http://www.ureader.com/gp/1037-1.aspx


  #4   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 968
Default stuck with Auto column fit

If you want find the ##### values in VBA you have to look at Range.Text
which gives you the formatted values.

Charles
___________________________________
The Excel Calculation Site
http://www.decisionmodels.com

"Per Jessen" wrote in message
...
Hi,

Maybe this is what you need:

Sub Macro1()
Dim col As Range
For Each col In ActiveSheet.UsedRange.Columns
col.EntireColumn.AutoFit
If col.ColumnWidth < 8.43 Then
col.ColumnWidth = 8.43
End If
Next
End Sub


"vimalg" skrev i meddelelsen
.. .
i want to search ######## values in a sheet. if found then i have to apply
auto column fit. (## values have appeared coz the width of the column is
smaller than the value)these cells actually containg value but showing
###
coz of width.. need a vba code for this

url:http://www.ureader.com/gp/1037-1.aspx





  #5   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 52
Default stuck with Auto column fit

hey i know about auto column fit.. but my only constraint is of
identifying cells which has ### values. i guess it has something to do
with range.text or range.formula .... if anyone could provide a
snippet of "identifying" such cells would be really helpful. i have
written this code but not doing the task i am expecting .

For Each cell In ThisWorkbook.Sheets(1).UsedRange
If IsError(cell) Then
cell.Select
Selection.Columns.AutoFit
cell.Interior.ColorIndex = 8
End If
Next cell



  #6   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 52
Default stuck with Auto column fit


hey i got it . range.text solves my problem. thanks a lot
:)
  #7   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 35,218
Default stuck with Auto column fit

First, here's a post that I saved.

It could mean a few things.

1. The columnwidth is too narrow to show the number.

Widen the column or change the font size of that cell. Or change the
numberformat to General.

2. You have a date/time in that cell and it's negative

Don't use negative dates. If excel was helping you, it may have
changed the format to a date. Change it back to General (or some
other number format).

If you need to see negative date/times:
Tools|options|Calculation Tab|and check 1904 date system
(but this can cause trouble--watch what happens to your dates
and watch what happens when you copy|paste dates to a different
workbook that doesn't use this setting)

3. You have a lot of text in the cell, the cell is formatted as Text.

Format the cell as general.

4. You really have ###'s in that cell.

Clean up that cell.

5. You have # in a cell, but it's format is set to Fill.

Change the format
(format|cells|alignment tab|horizontal box, change it to General.

============

This code will try to fix problems 1 and 3. If you have others, then the
program will continue to find the offending cell, fail to fix it and end up in
an endless loop.

So you may want to add more checks to this code...


Option Explicit
Sub testme01()

Dim wks As Worksheet
Dim FoundCell As Range
Dim FirstAddress As String

Set wks = ActiveSheet

With wks
Set FoundCell = .Cells.Find(what:="#", _
after:=.Cells(.Cells.Count), _
LookIn:=xlValues, _
LookAt:=xlPart, _
SearchOrder:=xlByRows, _
SearchDirection:=xlNext, _
MatchCase:=False, _
SearchFormat:=False)
If FoundCell Is Nothing Then
MsgBox "None found!"
Exit Sub
End If

FirstAddress = FoundCell.Address

Do

If Replace(FoundCell.Text, "#", "") = "" Then
If Application.IsNumber(FoundCell.Value2) Then
FoundCell.EntireColumn.AutoFit
Else
If FoundCell.NumberFormat = "@" Then
If Len(FoundCell.Value) 255 _
And Len(FoundCell.Value) < 1025 Then
FoundCell.NumberFormat = "General"
End If
End If
End If
End If

Set FoundCell = .Cells.FindNext(after:=FoundCell)

If FoundCell Is Nothing Then
Exit Sub
End If

If FoundCell.Address = FirstAddress Then
Exit Sub
End If

Loop
End With

End Sub

If you're new to macros:

Debra Dalgleish has some notes how to implement macros he
http://www.contextures.com/xlvba01.html

David McRitchie has an intro to macros:
http://www.mvps.org/dmcritchie/excel/getstarted.htm

Ron de Bruin's intro to macros:
http://www.rondebruin.nl/code.htm

(General, Regular and Standard modules all describe the same thing.)

vicky wrote:

hey i know about auto column fit.. but my only constraint is of
identifying cells which has ### values. i guess it has something to do
with range.text or range.formula .... if anyone could provide a
snippet of "identifying" such cells would be really helpful. i have
written this code but not doing the task i am expecting .

For Each cell In ThisWorkbook.Sheets(1).UsedRange
If IsError(cell) Then
cell.Select
Selection.Columns.AutoFit
cell.Interior.ColorIndex = 8
End If
Next cell


--

Dave Peterson
  #8   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 5,934
Default stuck with Auto column fit

Here is some alternate code for you to consider (it does *not* iterate
through **every** cell in the worksheet)...

Dim X As Long, CW As Double
......
......
Application.ScreenUpdating = False
With Worksheets("Sheet1")
For X = 1 To .UsedRange.Count
CW = .Columns(X).ColumnWidth
.Columns(X).AutoFit
If .Columns(X).ColumnWidth < CW Then .Columns(X).ColumnWidth = CW
Next
End With
Application.ScreenUpdating = True

This code will expand only those columns where the entry doesn't fit. This,
of course, covers your cases where the cell is displaying # signs. However,
it does have one "side effect" that you may not want to occur. If you have
an entry in cell like the number 123456789, but the column is not wide
enough to display the all of the digits making up the number, then Excel
will convert the displayed value to E-notation. For example, the value
123456789 might be displayed as 1.2E+08 or as 1.23E+08 all depending on the
width of the column. The "side effect" for the code above is that it will
autofit the column so all the digits are displayed.

--
Rick (MVP - Excel)


"vicky" wrote in message
...
hey i know about auto column fit.. but my only constraint is of
identifying cells which has ### values. i guess it has something to do
with range.text or range.formula .... if anyone could provide a
snippet of "identifying" such cells would be really helpful. i have
written this code but not doing the task i am expecting .

For Each cell In ThisWorkbook.Sheets(1).UsedRange
If IsError(cell) Then
cell.Select
Selection.Columns.AutoFit
cell.Interior.ColorIndex = 8
End If
Next cell


Reply
Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules

Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On


Similar Threads
Thread Thread Starter Forum Replies Last Post
How can I auto refresh a column that has an auto filter in place Pastal Excel Discussion (Misc queries) 1 December 18th 07 11:43 AM
Auto Filter Function getting 'stuck' dlb Excel Worksheet Functions 3 April 16th 07 05:00 AM
Stuck on combining two lists with different column headers MrB1onde Excel Discussion (Misc queries) 1 August 7th 06 10:24 PM
Combo Box - auto complete and the bound column/text column propert jeffbert Excel Programming 3 June 29th 06 10:31 PM
Auto Fill Column with Date based on rows in other column JOUIOUI Excel Programming 2 June 6th 06 06:28 PM


All times are GMT +1. The time now is 11:19 AM.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Copyright ©2004-2025 ExcelBanter.
The comments are property of their posters.
 

About Us

"It's about Microsoft Excel"