Home |
Search |
Today's Posts |
#1
Posted to microsoft.public.excel.programming
|
|||
|
|||
Combined VBA line syntax
Being mostly self taught in VBA I tried to combine lines a and b into c,
using line d as an example from recording a macro. compiler did not like line c. How do you know when "combining" lines will work and when it will not? thanks. Cells(x, y).Borders(xlEdgeLeft).LineStyle = xlContinuous '' a Cells(x, y).Borders(xlEdgeLeft).Weight = xlThick '' b Cells(x, y).Borders(xlEdgeLeft) LineStyle:=xlContinuous, Weight:=xlThick '' c ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True '' d -- Neal Z |
#2
Posted to microsoft.public.excel.programming
|
|||
|
|||
Combined VBA line syntax
LineStyle and Weight are two separate properties of the Border object. You
would select border in the Object browser and see if it had a method that supported an argument for setting lineStyle and Weight. As far as I know, there is no such method. the closest thing that does is BorderAround, but that would put a border all the way around the cell and, while it has LineStyle and Weight arguments the help says: You can specify either LineStyle or Weight, but not both. If you don't specify either argument, Microsoft Excel uses the default line style and weight. -- Regards, Tom Ogilvy "Neal Zimm" wrote in message ... Being mostly self taught in VBA I tried to combine lines a and b into c, using line d as an example from recording a macro. compiler did not like line c. How do you know when "combining" lines will work and when it will not? thanks. Cells(x, y).Borders(xlEdgeLeft).LineStyle = xlContinuous '' a Cells(x, y).Borders(xlEdgeLeft).Weight = xlThick '' b Cells(x, y).Borders(xlEdgeLeft) LineStyle:=xlContinuous, Weight:=xlThick '' c ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True '' d -- Neal Z |
#3
Posted to microsoft.public.excel.programming
|
|||
|
|||
Combined VBA line syntax
I think it's because .Linestyle and .Weight are properties that are set to
values, while .Protect is a method, which is like a subroutine that accepts arguments. Someone more advanced please correct me if I'm mistaken! "Neal Zimm" wrote: Being mostly self taught in VBA I tried to combine lines a and b into c, using line d as an example from recording a macro. compiler did not like line c. How do you know when "combining" lines will work and when it will not? thanks. Cells(x, y).Borders(xlEdgeLeft).LineStyle = xlContinuous '' a Cells(x, y).Borders(xlEdgeLeft).Weight = xlThick '' b Cells(x, y).Borders(xlEdgeLeft) LineStyle:=xlContinuous, Weight:=xlThick '' c ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True '' d -- Neal Z |
#4
Posted to microsoft.public.excel.programming
|
|||
|
|||
Combined VBA line syntax
Let me be a little more explicit on the language syntax the compiler is
expecting. Properties are used to set or get values: Object.Property = Value Value = Object.Property Methods are functions that are passed values as arguments Object.Method Arg1, Arg2, Arg3, etc. e.g. Worksheet.Protect "ABC123", True, True The arguments must be entered in the order the method is expecting them, and missing (optional) arguments must have commas as placeholders (except for missing arguments at the end.) Object.Method Arg1, , Arg3, , Arg5 If you only want to supply specific arguments then you use the argument name in the following syntax (and the order is not critical) Worksheet.Protect Password:=€ABC123€, AllowFormattingCells:=True In your example you removed the dot between Cells(x, y).Borders(xlEdgeLeft) and LineStyle Effectively telling the compiler you wanted to call an unnamed method using two arguments, LineStyle and Weight Cells(x, y).Borders(xlEdgeLeft) LineStyle:=xlContinuous, Weight:=xlThick (no method name).....................^ Clear as mud? "Charlie" wrote: I think it's because .Linestyle and .Weight are properties that are set to values, while .Protect is a method, which is like a subroutine that accepts arguments. Someone more advanced please correct me if I'm mistaken! "Neal Zimm" wrote: Being mostly self taught in VBA I tried to combine lines a and b into c, using line d as an example from recording a macro. compiler did not like line c. How do you know when "combining" lines will work and when it will not? thanks. Cells(x, y).Borders(xlEdgeLeft).LineStyle = xlContinuous '' a Cells(x, y).Borders(xlEdgeLeft).Weight = xlThick '' b Cells(x, y).Borders(xlEdgeLeft) LineStyle:=xlContinuous, Weight:=xlThick '' c ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True '' d -- Neal Z |
#5
Posted to microsoft.public.excel.programming
|
|||
|
|||
Combined VBA line syntax
Thanks. will do. was just trying to save a little coding time.
Neal "Tom Ogilvy" wrote: LineStyle and Weight are two separate properties of the Border object. You would select border in the Object browser and see if it had a method that supported an argument for setting lineStyle and Weight. As far as I know, there is no such method. the closest thing that does is BorderAround, but that would put a border all the way around the cell and, while it has LineStyle and Weight arguments the help says: You can specify either LineStyle or Weight, but not both. If you don't specify either argument, Microsoft Excel uses the default line style and weight. -- Regards, Tom Ogilvy "Neal Zimm" wrote in message ... Being mostly self taught in VBA I tried to combine lines a and b into c, using line d as an example from recording a macro. compiler did not like line c. How do you know when "combining" lines will work and when it will not? thanks. Cells(x, y).Borders(xlEdgeLeft).LineStyle = xlContinuous '' a Cells(x, y).Borders(xlEdgeLeft).Weight = xlThick '' b Cells(x, y).Borders(xlEdgeLeft) LineStyle:=xlContinuous, Weight:=xlThick '' c ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True '' d -- Neal Z |
#6
Posted to microsoft.public.excel.programming
|
|||
|
|||
Combined VBA line syntax
Charlie -
Clearer than mud, sure. the 'method' terminology clears it up. I've just got to learn more about that. I left the blank on purpose trying to emulate the protection method without realizing the import of what I did. Live and Learn. thanks, Neal "Charlie" wrote: Let me be a little more explicit on the language syntax the compiler is expecting. Properties are used to set or get values: Object.Property = Value Value = Object.Property Methods are functions that are passed values as arguments Object.Method Arg1, Arg2, Arg3, etc. e.g. Worksheet.Protect "ABC123", True, True The arguments must be entered in the order the method is expecting them, and missing (optional) arguments must have commas as placeholders (except for missing arguments at the end.) Object.Method Arg1, , Arg3, , Arg5 If you only want to supply specific arguments then you use the argument name in the following syntax (and the order is not critical) Worksheet.Protect Password:=€ABC123€, AllowFormattingCells:=True In your example you removed the dot between Cells(x, y).Borders(xlEdgeLeft) and LineStyle Effectively telling the compiler you wanted to call an unnamed method using two arguments, LineStyle and Weight Cells(x, y).Borders(xlEdgeLeft) LineStyle:=xlContinuous, Weight:=xlThick (no method name).....................^ Clear as mud? "Charlie" wrote: I think it's because .Linestyle and .Weight are properties that are set to values, while .Protect is a method, which is like a subroutine that accepts arguments. Someone more advanced please correct me if I'm mistaken! "Neal Zimm" wrote: Being mostly self taught in VBA I tried to combine lines a and b into c, using line d as an example from recording a macro. compiler did not like line c. How do you know when "combining" lines will work and when it will not? thanks. Cells(x, y).Borders(xlEdgeLeft).LineStyle = xlContinuous '' a Cells(x, y).Borders(xlEdgeLeft).Weight = xlThick '' b Cells(x, y).Borders(xlEdgeLeft) LineStyle:=xlContinuous, Weight:=xlThick '' c ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True '' d -- Neal Z |
Reply |
Thread Tools | Search this Thread |
Display Modes | |
|
|
Similar Threads | ||||
Thread | Forum | |||
Combined bar/Line graph defaults to bar | Charts and Charting in Excel | |||
scatter and line combined | Charts and Charting in Excel | |||
combined line-column excel chart | Charts and Charting in Excel | |||
combined scatter plot and line data | Excel Discussion (Misc queries) | |||
Combined line/stacked column chart | Charts and Charting in Excel |