Reply
 
LinkBack Thread Tools Search this Thread Display Modes
  #1   Report Post  
Posted to microsoft.public.excel.misc
external usenet poster
 
Posts: 2
Default specify cell selection in a marco

I found a useful macro online but it only selects cells A1:A5 and I need to
modify it so I can select a range of cells by highlighting them, and then run
the macro. I tried to delete part of the syntax but just get error messages.
The macro I have now is:

Sub Uppercase()
' Loop to cycle through each cell in the specified range.
For Each x In Range("A1:A5")
' Change the text in the range to uppercase letters.
x.Value = UCase(x.value)
Next
End Sub

Can anyone fix this for me?
thanx - chu
  #2   Report Post  
Posted to microsoft.public.excel.misc
external usenet poster
 
Posts: 35,218
Default specify cell selection in a marco

If you can select the range first, it might make it simpler:

Sub Uppercase()
Dim x as Range
' Loop to cycle through each cell in the specified range.
For Each x In Selection.Cells
' Change the text in the range to uppercase letters.
x.Value = UCase(x.value)
Next
End Sub

chubach wrote:

I found a useful macro online but it only selects cells A1:A5 and I need to
modify it so I can select a range of cells by highlighting them, and then run
the macro. I tried to delete part of the syntax but just get error messages.
The macro I have now is:

Sub Uppercase()
' Loop to cycle through each cell in the specified range.
For Each x In Range("A1:A5")
' Change the text in the range to uppercase letters.
x.Value = UCase(x.value)
Next
End Sub

Can anyone fix this for me?
thanx - chu


--

Dave Peterson
  #3   Report Post  
Posted to microsoft.public.excel.misc
external usenet poster
 
Posts: 2
Default specify cell selection in a marco

Thanks, it works great. However, if I select the entire workbook by clicking
in the upper, lefthand part of the row/column headings it causes the
application to freeze or keep looping. Is there a way to make the selection
this way and have it stop after the last active cell?

"Dave Peterson" wrote:

If you can select the range first, it might make it simpler:

Sub Uppercase()
Dim x as Range
' Loop to cycle through each cell in the specified range.
For Each x In Selection.Cells
' Change the text in the range to uppercase letters.
x.Value = UCase(x.value)
Next
End Sub

chubach wrote:

I found a useful macro online but it only selects cells A1:A5 and I need to
modify it so I can select a range of cells by highlighting them, and then run
the macro. I tried to delete part of the syntax but just get error messages.
The macro I have now is:

Sub Uppercase()
' Loop to cycle through each cell in the specified range.
For Each x In Range("A1:A5")
' Change the text in the range to uppercase letters.
x.Value = UCase(x.value)
Next
End Sub

Can anyone fix this for me?
thanx - chu


--

Dave Peterson

  #4   Report Post  
Posted to microsoft.public.excel.misc
external usenet poster
 
Posts: 35,218
Default specify cell selection in a marco

You could limit the loop to just the usedrange, but if you're going to limit
them, you might as well just loop through the cells that have text constants.

Option Explicit
Sub Uppercase()
Dim x As Range
Dim myRng As Range

Set myRng = Nothing
On Error Resume Next
Set myRng = Intersect(Selection, _
Selection.Cells.SpecialCells(xlCellTypeConstants, xlTextValues))
On Error GoTo 0

If myRng Is Nothing Then
MsgBox "no constants selected"
Else
' Loop to cycle through each cell in the specified range.
For Each x In Selection.Cells
' Change the text in the range to uppercase letters.
x.Value = UCase(x.Value)
Next x
End If
End Sub


chubach wrote:

Thanks, it works great. However, if I select the entire workbook by clicking
in the upper, lefthand part of the row/column headings it causes the
application to freeze or keep looping. Is there a way to make the selection
this way and have it stop after the last active cell?

"Dave Peterson" wrote:

If you can select the range first, it might make it simpler:

Sub Uppercase()
Dim x as Range
' Loop to cycle through each cell in the specified range.
For Each x In Selection.Cells
' Change the text in the range to uppercase letters.
x.Value = UCase(x.value)
Next
End Sub

chubach wrote:

I found a useful macro online but it only selects cells A1:A5 and I need to
modify it so I can select a range of cells by highlighting them, and then run
the macro. I tried to delete part of the syntax but just get error messages.
The macro I have now is:

Sub Uppercase()
' Loop to cycle through each cell in the specified range.
For Each x In Range("A1:A5")
' Change the text in the range to uppercase letters.
x.Value = UCase(x.value)
Next
End Sub

Can anyone fix this for me?
thanx - chu


--

Dave Peterson


--

Dave Peterson
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
Add "left align across selection" cell formatting Monty Analyst Excel Worksheet Functions 2 November 5th 08 03:17 PM
Selection starting from active cell Ronald Dodge Excel Discussion (Misc queries) 3 October 10th 06 12:46 AM
cell selection appears locked. How do I unlock it. Heinz Excel Worksheet Functions 1 August 30th 06 08:24 PM
Line selection from a cell script through a VBA macro CamiIRE Setting up and Configuration of Excel 2 April 11th 06 04:28 PM
Cell Selection after "Enter" Synectica Excel Discussion (Misc queries) 6 August 29th 05 09:55 PM


All times are GMT +1. The time now is 10:16 AM.

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

About Us

"It's about Microsoft Excel"