column width VBA question

D

Damian

I have this code:

Range("C:C,A:A").Select
Selection.ColumnWidth = 4.57
EnableSelection = Excel.XlEnableSelection.xlNoSelection

BUT it changes the with of columns A, B and C. I want B to be left alone.
What am I doing wrong. Also will the last line of code work if I dont want
anything to be selected?

Another question that I posted already but its on 2 page now and I dont
think it will get answared.

In this code:

With ActiveSheet
.protect Password:="eli"
.EnableSelection = xlUnlockedCells
.protect DrawingObjects:=True, Contents:=True, Scenarios:=True _
, AllowFormattingCells:=True, AllowFormattingRows:=True
End With

I cant get the "p" in .protect to be capital "P". Everythine I change it it
changes right back and the code dont work.

Thank you
 
J

JP

I ran your ColumnWidth code and didn't experience the same issue. Try
stepping through the code or setting the column width of each column
individually. FYI, there's no need to select the column first before
setting the ColumnWidth property.

Regarding your second issue, that would happen if you have a variable
called "protect" somewhere in your code. If you give a variable the
same name as a property, VBA will adjust the case of the property to
match. It doesn't affect the method however, and I wasn't able to
duplicate the issue.

--JP
 
D

Dave Peterson

#1. Do you have merged cells in that range (column A to C) that include column
B???

If you do, try:
Range("C:C,A:A").ColumnWidth = 4.57

It worked ok in xl2003, but each version of excel seems to treat merged cells
better than the last.

=======

The upper/lower case in .protect won't break your code. It may be irritating,
but it's not a problem.

You can fix the uppercase irritation by typing this line anywhere in your code:
Dim Protect
Then hit enter
Then delete that line.

I'm not sure what your problem is. It could be as simple as that password not
being correct (uppercase ELI???).

Or it could be what caused the .protect to become lower case.

Do you have a subroutine called Protect or a function called Protect or anything
else in your code called Protect?

If it's a subroutine, try naming it:

Sub myProtect(...)

or something that doesn't fight with the stuff built into VBA.
 
D

Damian

Thank You JP. I fixed my first problem. I used one line of code
Range("C:C,A:A").ColumnWidth = 4.57
And it works. Thanks

As for 2nd issue. I know I used Protect() as one of the names in my sheet
but I deleted it. And the code compiles but it does not protect me sheet with
a password. I can just go and unprotect it without being prompt for pass.

Any ideas?
 
D

Damian

I do have merge cells. Thank you.
DIM Protect - worked for the uppercase. Thank you again.

BUT unfortunately that did not solve my problem. the password is "eli" when
i ran my micro it unprotects it and protects it again very nicely, BUT i can
also go to tools and unprotect and it will not prompt me for the password.
How come?

Thanks for all the help
 
G

Gord Dibben

Damian

I revised the code in the other thread/other news group and explained why.


Gord
 
D

Dave Peterson

If you don't get prompted for a password when you do it manually, then you don't
have a password.

But I'm not sure why you're using two .protect's here:

did you mean .Unprotect in the first instance?

or maybe...
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Similar Threads


Top