ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Programming (https://www.excelbanter.com/excel-programming/)
-   -   Sub to freeze cols up to extent of data in col Q (https://www.excelbanter.com/excel-programming/442342-sub-freeze-cols-up-extent-data-col-q.html)

Max

Sub to freeze cols up to extent of data in col Q
 
Cols R and U contain formulas till row 200. I need a sub to freeze cols R and
U from row 4 to the last row of data in col Q (taken from bottom up). Col Q
contains only data, no formulas. Thanks

Jacob Skaria

Sub to freeze cols up to extent of data in col Q
 
Max, try the below in activesheet

Sub Macro()
Dim lngRow As Long


lngRow = Cells(Rows.Count, "Q").End(xlUp).Row
Cells.Locked = False
Range("Q4:R" & lngRow).Locked = True
ActiveSheet.Protect Password:="password"
End Sub

--
Jacob (MVP - Excel)


"Max" wrote:

Cols R and U contain formulas till row 200. I need a sub to freeze cols R and
U from row 4 to the last row of data in col Q (taken from bottom up). Col Q
contains only data, no formulas. Thanks


Max

Sub to freeze cols up to extent of data in col Q
 
Sorry, what I meant by "freeze" was to convert the formulas in cols R and U
to values (copy paste special as values). What should be changed in the sub
to do that? Thanks

Jacob Skaria

Sub to freeze cols up to extent of data in col Q
 
Try

Columns("R") = columns("R").value
Columns("U") = columns("U").value

--
Jacob (MVP - Excel)


"Max" wrote:

Sorry, what I meant by "freeze" was to convert the formulas in cols R and U
to values (copy paste special as values). What should be changed in the sub
to do that? Thanks


Max

Sub to freeze cols up to extent of data in col Q
 
Thanks, but I'm not sure how to adapt those lines to suit the desired
"freeze" extent, ie only from row 4 down to the last row of data in col Q,
not the entire col. Grateful if you could take a moment to piece it together

Jacob Skaria

Sub to freeze cols up to extent of data in col Q
 
OK. Try the below

Sub Macro()
Dim lngRow As Long

lngRow = Cells(Rows.Count, "Q").End(xlUp).Row

Range("R4:R" & lngRow) = Range("R4:R" & lngRow).Value
Range("U4:U" & lngRow) = Range("U4:U" & lngRow).Value

End Sub


--
Jacob (MVP - Excel)


"Max" wrote:

Thanks, but I'm not sure how to adapt those lines to suit the desired
"freeze" extent, ie only from row 4 down to the last row of data in col Q,
not the entire col. Grateful if you could take a moment to piece it together


Max

Sub to freeze cols up to extent of data in col Q
 
Many thanks, Jacob. Works great, exactly as desired.


All times are GMT +1. The time now is 05:50 PM.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
ExcelBanter.com