Home |
Search |
Today's Posts |
#1
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
Hi,
I write a lot of macros to simplify frequent steps, like turning the AutoFilters on and off, i.e. toggling them. Sub Toggle_AutoFilter() Selection.AutoFilter End Sub That's probably my favorite. Use it all the time. Another example is my Move On Enter macro that "toggles" from down to right to off, based on the existing setting. Sub Move_On_Enter() 'Toggle Move_On_Enter Feature ' 6/10/97 If Application.MoveAfterReturn = False Then With Application .MoveAfterReturn = True .MoveAfterReturnDirection = xlDown End With ElseIf Application.MoveAfterReturnDirection = xlDown Then Application.MoveAfterReturnDirection = xlToRight ElseIf Application.MoveAfterReturnDirection = xlToRight Then Application.MoveAfterReturn = False End If End Sub So I'm trying to write one that will toggle the text orientation of the selection from 0 to -90, and if it's not 0, then make it 0. I've tried the following so far: Sub ToggleTextOrientation() If Selection.Orientation = 90 Then Selection.Orientation = 0 ElseIf Selection.Orientation = 0 Then Selection.Orientation = 90 ElseIf Selection.Orientation = -90 Then Selection.Orientation = 0 End If End Sub I've also tried If Selection.Orientation = 90 Then Selection.Orientation = 0 ElseIf Selection.Orientation = 0 Then Selection.Orientation = 90 ElseIf Selection.Orientation < 0 Then Selection.Orientation = 0 End If AND Select Case Selection.Orientation Case 90 Selection.Orientation = 0 Case -90 Selection.Orientation = 0 Case 0 Selection.Orientation = 90 Case Else Selection.Orientation = 0 End Select Doesn't seem like it would be tricky. I'm just not looking at it right. I finally put a watch on Selection.Orientation. I get Watch : Expression: Selection.Orientation Value: -4128 Type: Variant/Long Context: Module2.ToggleTextOrientation OK, it's in the back of my mind that -4128 is the datatype code, or something like that. If it was related to the orientation, I would have thought the "Else" conditions would handle it, but no such luck. Right now, I'm drawing a blank on getting past that. Or perhaps it's another problem entirely. Any ideas would be appreciate. It's not urgent; it's just bugging me. Thanks, Neva |
#2
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
run this macro on a clean sheet (or put some text in C11)
Sub Checkit() For i = -90 To 90 Step 1 Range("C11").Orientation = i Cells(i + 91, 1) = i Cells(i + 91, 2) = Range("C11").Orientation Next End Sub and it should clear it up for you. -- Regards, Tom Ogilvy " wrote: Hi, I write a lot of macros to simplify frequent steps, like turning the AutoFilters on and off, i.e. toggling them. Sub Toggle_AutoFilter() Selection.AutoFilter End Sub That's probably my favorite. Use it all the time. Another example is my Move On Enter macro that "toggles" from down to right to off, based on the existing setting. Sub Move_On_Enter() 'Toggle Move_On_Enter Feature ' 6/10/97 If Application.MoveAfterReturn = False Then With Application .MoveAfterReturn = True .MoveAfterReturnDirection = xlDown End With ElseIf Application.MoveAfterReturnDirection = xlDown Then Application.MoveAfterReturnDirection = xlToRight ElseIf Application.MoveAfterReturnDirection = xlToRight Then Application.MoveAfterReturn = False End If End Sub So I'm trying to write one that will toggle the text orientation of the selection from 0 to -90, and if it's not 0, then make it 0. I've tried the following so far: Sub ToggleTextOrientation() If Selection.Orientation = 90 Then Selection.Orientation = 0 ElseIf Selection.Orientation = 0 Then Selection.Orientation = 90 ElseIf Selection.Orientation = -90 Then Selection.Orientation = 0 End If End Sub I've also tried If Selection.Orientation = 90 Then Selection.Orientation = 0 ElseIf Selection.Orientation = 0 Then Selection.Orientation = 90 ElseIf Selection.Orientation < 0 Then Selection.Orientation = 0 End If AND Select Case Selection.Orientation Case 90 Selection.Orientation = 0 Case -90 Selection.Orientation = 0 Case 0 Selection.Orientation = 90 Case Else Selection.Orientation = 0 End Select Doesn't seem like it would be tricky. I'm just not looking at it right. I finally put a watch on Selection.Orientation. I get Watch : Expression: Selection.Orientation Value: -4128 Type: Variant/Long Context: Module2.ToggleTextOrientation OK, it's in the back of my mind that -4128 is the datatype code, or something like that. If it was related to the orientation, I would have thought the "Else" conditions would handle it, but no such luck. Right now, I'm drawing a blank on getting past that. Or perhaps it's another problem entirely. Any ideas would be appreciate. It's not urgent; it's just bugging me. Thanks, Neva |
#3
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
just to add, excel has the following defined constants and their
corresponding values: xlDownward -4170 xlHorizontal -4128 xlupward -4171 xlVertical -4166 Select Case cell.orientation case xlDownward ' -90 case xlHorizontal ' 0 case xlUpward ' 90 Case xlVertical case else ' number of degrees end Select t h i s i s x l v e r t i c a l -- Regards, Tom Ogilvy -- Regards, Tom Ogilvy " wrote: Hi, I write a lot of macros to simplify frequent steps, like turning the AutoFilters on and off, i.e. toggling them. Sub Toggle_AutoFilter() Selection.AutoFilter End Sub That's probably my favorite. Use it all the time. Another example is my Move On Enter macro that "toggles" from down to right to off, based on the existing setting. Sub Move_On_Enter() 'Toggle Move_On_Enter Feature ' 6/10/97 If Application.MoveAfterReturn = False Then With Application .MoveAfterReturn = True .MoveAfterReturnDirection = xlDown End With ElseIf Application.MoveAfterReturnDirection = xlDown Then Application.MoveAfterReturnDirection = xlToRight ElseIf Application.MoveAfterReturnDirection = xlToRight Then Application.MoveAfterReturn = False End If End Sub So I'm trying to write one that will toggle the text orientation of the selection from 0 to -90, and if it's not 0, then make it 0. I've tried the following so far: Sub ToggleTextOrientation() If Selection.Orientation = 90 Then Selection.Orientation = 0 ElseIf Selection.Orientation = 0 Then Selection.Orientation = 90 ElseIf Selection.Orientation = -90 Then Selection.Orientation = 0 End If End Sub I've also tried If Selection.Orientation = 90 Then Selection.Orientation = 0 ElseIf Selection.Orientation = 0 Then Selection.Orientation = 90 ElseIf Selection.Orientation < 0 Then Selection.Orientation = 0 End If AND Select Case Selection.Orientation Case 90 Selection.Orientation = 0 Case -90 Selection.Orientation = 0 Case 0 Selection.Orientation = 90 Case Else Selection.Orientation = 0 End Select Doesn't seem like it would be tricky. I'm just not looking at it right. I finally put a watch on Selection.Orientation. I get Watch : Expression: Selection.Orientation Value: -4128 Type: Variant/Long Context: Module2.ToggleTextOrientation OK, it's in the back of my mind that -4128 is the datatype code, or something like that. If it was related to the orientation, I would have thought the "Else" conditions would handle it, but no such luck. Right now, I'm drawing a blank on getting past that. Or perhaps it's another problem entirely. Any ideas would be appreciate. It's not urgent; it's just bugging me. Thanks, Neva |
#4
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
Tom,
Thank you for the info. I'm experimenting with both. However, it looks to me as if the defined constants are for "ReadingDirection" rather than Orientation, is that right? Are there defined constants for Orientation? I can no longer remember how to wade thru the Object Browser to a list of these constants. Argh. Thanks again, Neva Tom Ogilvy wrote: just to add, excel has the following defined constants and their corresponding values: xlDownward -4170 xlHorizontal -4128 xlupward -4171 xlVertical -4166 Select Case cell.orientation case xlDownward ' -90 case xlHorizontal ' 0 case xlUpward ' 90 Case xlVertical case else ' number of degrees end Select t h i s i s x l v e r t i c a l -- Regards, Tom Ogilvy -- Regards, Tom Ogilvy "nwarnock" wrote: <snip I'm trying to write one that will toggle the text orientation of the selection from 0 to -90, and if it's not 0, then make it 0. I've tried the following so far: Sub ToggleTextOrientation() If Selection.Orientation = 90 Then Selection.Orientation = 0 ElseIf Selection.Orientation = 0 Then Selection.Orientation = 90 ElseIf Selection.Orientation = -90 Then Selection.Orientation = 0 End If End Sub I finally put a watch on Selection.Orientation. I get Watch : Expression: Selection.Orientation Value: -4128 Type: Variant/Long Context: Module2.ToggleTextOrientation OK, it's in the back of my mind that -4128 is the datatype code, or something like that. |
#5
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]() |
Reply |
Thread Tools | Search this Thread |
Display Modes | |
|
|
![]() |
||||
Thread | Forum | |||
Orientation of text in an autoshape | Excel Discussion (Misc queries) | |||
Pagesetup.Orientation need VBA routine to "Best Guess" Orientation | Excel Discussion (Misc queries) | |||
how to change orientation of text when cursor is passed over it? | Excel Discussion (Misc queries) | |||
Can you toggle between different text colors while typing text | Excel Discussion (Misc queries) | |||
Print Orientation Toggle | Excel Programming |