<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Bacon Bits: &#187; Worksheet Protection</title>
	<atom:link href="http://datapigtechnologies.com/blog/index.php/category/worksheet-protection/feed/" rel="self" type="application/rss+xml" />
	<link>http://datapigtechnologies.com/blog</link>
	<description>A DataPig Technologies Blog</description>
	<lastBuildDate>Mon, 06 Sep 2010 19:20:34 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.4</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Worksheet Protection Best Practice</title>
		<link>http://datapigtechnologies.com/blog/index.php/worksheet-protection-best-practice/</link>
		<comments>http://datapigtechnologies.com/blog/index.php/worksheet-protection-best-practice/#comments</comments>
		<pubDate>Thu, 26 Aug 2010 10:22:47 +0000</pubDate>
		<dc:creator>datapig</dc:creator>
				<category><![CDATA[Excel Tips and Tricks]]></category>
		<category><![CDATA[Excel VBA]]></category>
		<category><![CDATA[Worksheet Protection]]></category>
		<category><![CDATA[Excel]]></category>
		<category><![CDATA[Tips and Tricks]]></category>
		<category><![CDATA[VBA]]></category>

		<guid isPermaLink="false">http://datapigtechnologies.com/blog/?p=2435</guid>
		<description><![CDATA[I was reviewing someone's workbook the other day way I saw some code similar to this:
Sheets("Sheet1").Unprotect Password:="MeatFace"
PROCEDURE
Sheets("Sheet1).Protect Password:=" MeatFace "

This code unprotects the sheet, runs a procedure, and then protects the sheet again.  The reason this guy wrapped his procedure with Unprotect/Protect is because his procedure changes a worksheet in some way. And you cannot run [...]]]></description>
			<content:encoded><![CDATA[<p>I was reviewing someone's workbook the other day way I saw some code similar to this:</p>
<p><em>Sheets("Sheet1").Unprotect Password:="MeatFace"<br />
PROCEDURE<br />
Sheets("Sheet1).Protect Password:=" MeatFace "<br />
</em></p>
<p>This code unprotects the sheet, runs a procedure, and then protects the sheet again.  The reason this guy wrapped his procedure with Unprotect/Protect is because his procedure changes a worksheet in some way. And you cannot run a macro that changes a worksheet while that worksheet is protected.</p>
<p> <span id="more-2435"></span></p>
<p>Now, I'll bet a bunch of you still wrap your procedures with Unprotect/Protect. So I'm here to tell you that although this technique does work, it does have a couple of drawbacks.  First, if the code in the middle errors out, then your sheet won't become protected again. Second, every procedure (that changes the worksheet) would need to be wrapped in your UnProtect/Protect statements. This obviously leads to redundant code which could be difficult to manage.</p>
<p> </p>
<p>A better way is to protect your worksheet with the optional <strong>UserIntefaceOnly </strong>argument.</p>
<p>Place this code in the Workbook Open event:</p>
<p><img src="http://datapigtechnologies.com/blog/wp-content/uploads/2010/08/082610_1022_WorksheetPr1.png" alt="" /></p>
<p> </p>
<p>When you set the UserInterfaceOnly argument to True, you tell Excel that the worksheet protection does not apply to macros. This will allow your macros to run without having to constantly protect and unprotect your worksheet. </p>
<p> </p>
<p> </p>
<p><span style="font-size:12pt"><strong>Bonus Tip &#8211; Free of Charge</strong></span></p>
<p>There are other arguments (similar to UserInterfaceOnly) that can help better define what happens when you protect your worksheet.</p>
<p>For example, if I wanted to protect my worksheet, but still allow my customers to Enable/Disable Autofilters, I would add the AllowFiltering argument:</p>
<p><strong><em>Sub ProtectSheet()<br />
Sheets("Sheet1").Protect _<br />
Password:="MyPassword", _<br />
AllowFiltering:=True<br />
End Sub<br />
</em></strong></p>
<p> </p>
<p>Here is a list of the arguments you can leverage – painstakingly copied and pasted from Excel help.</p>
<div>
<table style="border-collapse:collapse" border="0">
<colgroup span="1">
<col style="width: 171px;" span="1"></col>
<col style="width: 387px;" span="1"></col>
</colgroup>
<tbody>
<tr style="background: #dce6f1; height: 21px;">
<td style="padding-left: 7px; padding-right: 7px; border-top:  none; border-left:  none; border-bottom:  solid #d5d5d3 1.0pt; border-right:  none" valign="middle"><span style="color:black"><em>DrawingObjects</em></span></td>
<td style="padding-left: 7px; padding-right: 7px; border-top:  none; border-left:  none; border-bottom:  solid #d5d5d3 1.0pt; border-right:  none" valign="middle"><span style="color:black"><strong>True</strong> to protect shapes. The default value is <strong>True</strong>.</span></td>
</tr>
<tr style="background: #f7f7ff; height: 61px;">
<td style="padding-left: 7px; padding-right: 7px; border-top:  none; border-left:  none; border-bottom:  solid #d5d5d3 1.0pt; border-right:  none" valign="middle"><span style="color:black"><em>Contents</em></span></td>
<td style="padding-left: 7px; padding-right: 7px; border-top:  none; border-left:  none; border-bottom:  solid #d5d5d3 1.0pt; border-right:  none" valign="middle"><span style="color:black"><strong>True</strong> to protect contents. For a chart, this protects the entire chart. For a worksheet, this protects the locked cells. The default value is <strong>True</strong>.</span></td>
</tr>
<tr style="background: #dce6f1; height: 41px;">
<td style="padding-left: 7px; padding-right: 7px; border-top:  none; border-left:  none; border-bottom:  solid #d5d5d3 1.0pt; border-right:  none" valign="middle"><span style="color:black"><em>Scenarios</em></span></td>
<td style="padding-left: 7px; padding-right: 7px; border-top:  none; border-left:  none; border-bottom:  solid #d5d5d3 1.0pt; border-right:  none" valign="middle"><span style="color:black"><strong>True</strong> to protect scenarios. This argument is valid only for worksheets. The default value is <strong>True</strong>.</span></td>
</tr>
<tr style="background: #f7f7ff; height: 61px;">
<td style="padding-left: 7px; padding-right: 7px; border-top:  none; border-left:  none; border-bottom:  solid #d5d5d3 1.0pt; border-right:  none" valign="middle"><span style="color:black"><em>UserInterfaceOnly</em></span></td>
<td style="padding-left: 7px; padding-right: 7px; border-top:  none; border-left:  none; border-bottom:  solid #d5d5d3 1.0pt; border-right:  none" valign="middle"><span style="color:black"><strong>True</strong> to protect the user interface, but not macros. If this argument is omitted, protection applies both to macros and to the user interface.</span></td>
</tr>
<tr style="background: #dce6f1; height: 41px;">
<td style="padding-left: 7px; padding-right: 7px; border-top:  none; border-left:  none; border-bottom:  solid #d5d5d3 1.0pt; border-right:  none" valign="middle"><span style="color:black"><em>AllowFormattingCells</em></span></td>
<td style="padding-left: 7px; padding-right: 7px; border-top:  none; border-left:  none; border-bottom:  solid #d5d5d3 1.0pt; border-right:  none" valign="middle"><span style="color:black"><strong>True</strong> allows the user to format any cell on a protected worksheet. The default value is <strong>False</strong>.</span></td>
</tr>
<tr style="background: #f7f7ff; height: 41px;">
<td style="padding-left: 7px; padding-right: 7px; border-top:  none; border-left:  none; border-bottom:  solid #d5d5d3 1.0pt; border-right:  none" valign="middle"><span style="color:black"><em>AllowFormattingColumns</em></span></td>
<td style="padding-left: 7px; padding-right: 7px; border-top:  none; border-left:  none; border-bottom:  solid #d5d5d3 1.0pt; border-right:  none" valign="middle"><span style="color:black"><strong>True</strong> allows the user to format any column on a protected worksheet. The default value is <strong>False</strong>.</span></td>
</tr>
<tr style="background: #dce6f1; height: 41px;">
<td style="padding-left: 7px; padding-right: 7px; border-top:  none; border-left:  none; border-bottom:  solid #d5d5d3 1.0pt; border-right:  none" valign="middle"><span style="color:black"><em>AllowFormattingRows</em></span></td>
<td style="padding-left: 7px; padding-right: 7px; border-top:  none; border-left:  none; border-bottom:  solid #d5d5d3 1.0pt; border-right:  none" valign="middle"><span style="color:black"><strong>True</strong> allows the user to format any row on a protected. The default value is <strong>False</strong>.</span></td>
</tr>
<tr style="background: #f7f7ff; height: 41px;">
<td style="padding-left: 7px; padding-right: 7px; border-top:  none; border-left:  none; border-bottom:  solid #d5d5d3 1.0pt; border-right:  none" valign="middle"><span style="color:black"><em>AllowInsertingColumns</em></span></td>
<td style="padding-left: 7px; padding-right: 7px; border-top:  none; border-left:  none; border-bottom:  solid #d5d5d3 1.0pt; border-right:  none" valign="middle"><span style="color:black"><strong>True</strong> allows the user to insert columns on the protected worksheet. The default value is <strong>False</strong>.</span></td>
</tr>
<tr style="background: #dce6f1; height: 41px;">
<td style="padding-left: 7px; padding-right: 7px; border-top:  none; border-left:  none; border-bottom:  solid #d5d5d3 1.0pt; border-right:  none" valign="middle"><span style="color:black"><em>AllowInsertingRows</em></span></td>
<td style="padding-left: 7px; padding-right: 7px; border-top:  none; border-left:  none; border-bottom:  solid #d5d5d3 1.0pt; border-right:  none" valign="middle"><span style="color:black"><strong>True</strong> allows the user to insert rows on the protected worksheet. The default value is <strong>False</strong>.</span></td>
</tr>
<tr style="background: #f7f7ff; height: 41px;">
<td style="padding-left: 7px; padding-right: 7px; border-top:  none; border-left:  none; border-bottom:  solid #d5d5d3 1.0pt; border-right:  none" valign="middle"><span style="color:black"><em>AllowInsertingHyperlinks</em></span></td>
<td style="padding-left: 7px; padding-right: 7px; border-top:  none; border-left:  none; border-bottom:  solid #d5d5d3 1.0pt; border-right:  none" valign="middle"><span style="color:black"><strong>True</strong> allows the user to insert hyperlinks on the worksheet. The default value is <strong>False</strong>.</span></td>
</tr>
<tr style="background: #dce6f1; height: 61px;">
<td style="padding-left: 7px; padding-right: 7px; border-top:  none; border-left:  none; border-bottom:  solid #d5d5d3 1.0pt; border-right:  none" valign="middle"><span style="color:black"><em>AllowDeletingColumns</em></span></td>
<td style="padding-left: 7px; padding-right: 7px; border-top:  none; border-left:  none; border-bottom:  solid #d5d5d3 1.0pt; border-right:  none" valign="middle"><span style="color:black"><strong>True</strong> allows the user to delete columns on the protected worksheet, where every cell in the column to be deleted is unlocked. The default value is <strong>False</strong>.</span></td>
</tr>
<tr style="background: #f7f7ff; height: 61px;">
<td style="padding-left: 7px; padding-right: 7px; border-top:  none; border-left:  none; border-bottom:  solid #d5d5d3 1.0pt; border-right:  none" valign="middle"><span style="color:black"><em>AllowDeletingRows</em></span></td>
<td style="padding-left: 7px; padding-right: 7px; border-top:  none; border-left:  none; border-bottom:  solid #d5d5d3 1.0pt; border-right:  none" valign="middle"><span style="color:black"><strong>True</strong> allows the user to delete rows on the protected worksheet, where every cell in the row to be deleted is unlocked. The default value is <strong>False</strong>.</span></td>
</tr>
<tr style="background: #dce6f1; height: 61px;">
<td style="padding-left: 7px; padding-right: 7px; border-top:  none; border-left:  none; border-bottom:  solid #d5d5d3 1.0pt; border-right:  none" valign="middle"><span style="color:black"><em>AllowSorting</em></span></td>
<td style="padding-left: 7px; padding-right: 7px; border-top:  none; border-left:  none; border-bottom:  solid #d5d5d3 1.0pt; border-right:  none" valign="middle"><span style="color:black"><strong>True</strong> allows the user to sort on the protected worksheet. Every cell in the sort range must be unlocked or unprotected. The default value is <strong>False</strong>.</span></td>
</tr>
<tr style="background: #f7f7ff; height: 81px;">
<td style="padding-left: 7px; padding-right: 7px; border-top:  none; border-left:  none; border-bottom:  solid #d5d5d3 1.0pt; border-right:  none" valign="middle"><span style="color:black"><em>AllowFiltering</em></span></td>
<td style="padding-left: 7px; padding-right: 7px; border-top:  none; border-left:  none; border-bottom:  solid #d5d5d3 1.0pt; border-right:  none" valign="middle"><span style="color:black"><strong>True</strong> allows the user to set filters on the protected worksheet. Users can change filter criteria but can not enable or disable an auto filter. Users can set filters on an existing auto filter. The default value is <strong>False</strong>.</span></td>
</tr>
<tr style="background: #dce6f1; height: 41px;">
<td style="padding-left: 7px; padding-right: 7px; border-top:  none; border-left:  none; border-bottom:  solid #d5d5d3 1.0pt; border-right:  none" valign="middle"><span style="color:black"><em>AllowUsingPivotTables</em></span></td>
<td style="padding-left: 7px; padding-right: 7px; border-top:  none; border-left:  none; border-bottom:  solid #d5d5d3 1.0pt; border-right:  none" valign="middle"><span style="color:black"><strong>True</strong> allows the user to use pivot table reports on the protected worksheet. The default value is <strong>False</strong>.</span></td>
</tr>
</tbody>
</table>
</div>
<div id="crp_related"><h3>Related Posts:</h3><ul><li><a href="http://datapigtechnologies.com/blog/index.php/using-the-switch-function-in-excel/" rel="bookmark" class="crp_title">Using the Switch Function in Excel</a></li><li><a href="http://datapigtechnologies.com/blog/index.php/special-characters-are-a-pain-in-the-asterisk/" rel="bookmark" class="crp_title">Special Characters are a Pain in the Asterisk</a></li><li><a href="http://datapigtechnologies.com/blog/index.php/a-tribute-to-lost/" rel="bookmark" class="crp_title">A Tribute to Lost</a></li><li><a href="http://datapigtechnologies.com/blog/index.php/after-summer-training-events/" rel="bookmark" class="crp_title">After Summer Training Events</a></li><li><a href="http://datapigtechnologies.com/blog/index.php/some-bacon-love/" rel="bookmark" class="crp_title">Some Bacon Love</a></li></ul></div>]]></content:encoded>
			<wfw:commentRss>http://datapigtechnologies.com/blog/index.php/worksheet-protection-best-practice/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Hack into a protected Excel 2007 Sheet</title>
		<link>http://datapigtechnologies.com/blog/index.php/hack-into-a-protected-excel-2007-sheet/</link>
		<comments>http://datapigtechnologies.com/blog/index.php/hack-into-a-protected-excel-2007-sheet/#comments</comments>
		<pubDate>Fri, 18 Sep 2009 06:40:27 +0000</pubDate>
		<dc:creator>datapig</dc:creator>
				<category><![CDATA[Worksheet Protection]]></category>
		<category><![CDATA[Excel]]></category>
		<category><![CDATA[Power Tips]]></category>

		<guid isPermaLink="false">http://datapigtechnologies.com/blog/?p=959</guid>
		<description><![CDATA[When Microsoft introduced Excel 2007, they introduced new file types &#8211; we all know them by now: xlsx, xlsm, xltx, etc. These file types are often referred to as Open XML. That's because the new file types are essentially packages that contain XML files. If you take an xlsx file and change the extension to [...]]]></description>
			<content:encoded><![CDATA[<p>When Microsoft introduced Excel 2007, they introduced new file types &#8211; we all know them by now: xlsx, xlsm, xltx, etc. These file types are often referred to as Open XML. That's because the new file types are essentially packages that contain XML files. If you take an xlsx file and change the extension to zip, you'll be able to see all the xml documents that make up your Excel file.</p>
<p> </p>
<p>The new Open XML file types come with lots of benefits. One of the major benefits is that you can change the content and properties of an Excel 2007 file simply by manipulating the XML documents that make it up.</p>
<p> </p>
<p>Well, while playing with the Open XML files, I discovered that you can remove spreadsheet protection simply by applying a simple edit to the xml within the Excel file.</p>
<p> <span id="more-959"></span></p>
<p>Say I have a workbook where Sheet1 is password protected. So I think to myself, "the nerve of some people &#8211; trying to keep me out of their spreadsheet".</p>
<p>I decide that I want to unprotect this sheet, but I don't know the password. Because this is Excel 2007, I'll hack into the xml and remove the spreadsheet protection.</p>
<p><img src="http://datapigtechnologies.com/blog/wp-content/uploads/2009/09/091809_0637_Hackintoapr1.png" alt="" /></p>
<p> </p>
<p> </p>
<p><strong>Step 1: </strong>Make a backup of your file in case you really monkey it up.</p>
<p><strong>Step 2: </strong>Change the file extension to zip.</p>
<p><img src="http://datapigtechnologies.com/blog/wp-content/uploads/2009/09/091809_0637_Hackintoapr2.png" alt="" /></p>
<p> </p>
<p><strong>Step 3: </strong>Extract the contents of the zip file.</p>
<p><strong>Step 4: </strong>Go to the extracted files and navigate to the xml for the target sheet (found in the 'xl\worksheets' directory)</p>
<p><img src="http://datapigtechnologies.com/blog/wp-content/uploads/2009/09/091809_0637_Hackintoapr3.png" alt="" /></p>
<p> </p>
<p><strong>Step 5: </strong>Open the target sheet's xml document using an XML editor (I use a free editor called <a href="http://symbolclick.com/index.htm" target="_blank">XML Marker</a>)</p>
<p> </p>
<p><strong>Step 6: </strong>Find the 'sheetProtection' tag and remove the entire line.</p>
<p><img src="http://datapigtechnologies.com/blog/wp-content/uploads/2009/09/091809_0637_Hackintoapr4.png" alt="" /></p>
<p> </p>
<p><strong>Step 7: </strong>Save the edited xml document and replace the old xml document found in the original zip file.</p>
<p> </p>
<p><strong>Step 8:</strong> Change the extension back to xlsx.</p>
<p><img src="http://datapigtechnologies.com/blog/wp-content/uploads/2009/09/091809_0637_Hackintoapr5.png" alt="" /></p>
<p> </p>
<p><strong>Step 9: </strong>Enjoy your unprotected sheet.</p>
<p> </p>
<p>That's right folks; simply removing the sheetProtection element from the xml part negates all protections placed on that sheet. Amazing, right?</p>
<p> </p>
<p>A couple of notes:</p>
<ol>
<li>Any password you see in the XML file is not the real password, nor will it work if you try to use it. It's worthless.</li>
<li>Unfortunately, it doesn't seem as though you can unprotect an entire workbook this way. Something prevents you from even opening the Open XML package for a protected Workbook.</li>
<li>Do I have to even mention that this doesn't apply to any xls files?</li>
<li>Of course, you could do this all programmatically, but this strikes me as a one-off kind of thing. So coding something up is just not worth it to me.</li>
</ol>
<div id="crp_related"><h3>Related Posts:</h3><ul><li><a href="http://datapigtechnologies.com/blog/index.php/running-an-excel-macro-from-access-or-another-excel-workbook/" rel="bookmark" class="crp_title">Running an Excel Macro from Access (or Another Excel Workbook)</a></li><li><a href="http://datapigtechnologies.com/blog/index.php/why-replace-the-dom-interface/" rel="bookmark" class="crp_title">Why Replace the DOM Interface</a></li><li><a href="http://datapigtechnologies.com/blog/index.php/building-version-control-in-excel/" rel="bookmark" class="crp_title">Building Version Control in Excel</a></li><li><a href="http://datapigtechnologies.com/blog/index.php/documenting-access-queries-in-excel/" rel="bookmark" class="crp_title">Documenting Access Queries in Excel</a></li><li><a href="http://datapigtechnologies.com/blog/index.php/using-access-to-combine-multiple-excel-files-method-2/" rel="bookmark" class="crp_title">Using Access to Combine Multiple Excel Files: Method 2</a></li></ul></div>]]></content:encoded>
			<wfw:commentRss>http://datapigtechnologies.com/blog/index.php/hack-into-a-protected-excel-2007-sheet/feed/</wfw:commentRss>
		<slash:comments>17</slash:comments>
		</item>
		<item>
		<title>Protect Worksheet Structure with Array Formulas</title>
		<link>http://datapigtechnologies.com/blog/index.php/protect-worksheet-structure-with-array-formulas/</link>
		<comments>http://datapigtechnologies.com/blog/index.php/protect-worksheet-structure-with-array-formulas/#comments</comments>
		<pubDate>Fri, 31 Jul 2009 14:36:25 +0000</pubDate>
		<dc:creator>datapig</dc:creator>
				<category><![CDATA[Excel Formulas]]></category>
		<category><![CDATA[Excel Tips and Tricks]]></category>
		<category><![CDATA[Worksheet Protection]]></category>
		<category><![CDATA[Excel]]></category>
		<category><![CDATA[Formulas]]></category>
		<category><![CDATA[Power Tips]]></category>

		<guid isPermaLink="false">http://datapigtechnologies.com/blog/?p=610</guid>
		<description><![CDATA[In the another display of passive aggressive behavior, I want to show you a trick you can use to prevent anyone from adding or deleting rows or columns by using a simple array formula. 
I'm pretty sure I got this trick from Bob Umlas.  Most Bob tricks, they are extremely cool, but I never seem to find situations where I can use them.  But, [...]]]></description>
			<content:encoded><![CDATA[<p>In the another display of passive aggressive behavior, I want to show you a trick you can use to prevent anyone from adding or deleting rows or columns by using a simple array formula. </p>
<p>I'm pretty sure I got this trick from Bob Umlas.  Most Bob tricks, they are extremely cool, but I never seem to find situations where I can use them.  But, maybe this trick will hit the spot for some of you.</p>
<p><span style="color: #ffffff;">.<span id="more-610"></span><br />
.</span></p>
<p><strong>Step 1:</strong>  Highlight the rows where you don't rows added or deleted. </p>
<p>Type <strong><span style="color: #800000;">=""</span></strong></p>
<p><span style="color: #000000;">Press Shift+Ctrl+Enter to apply the array.</span></p>
<p><img class="alignnone size-full wp-image-612" title="protectwitharray1" src="http://datapigtechnologies.com/blog/wp-content/uploads/2009/07/protectwitharray1.png" alt="protectwitharray1" width="424" height="333" /></p>
<p><span style="color: #ffffff;">.<br />
.</span></p>
<p><strong>Step 2:</strong>  Highlight the columns where you don't rows added or deleted. </p>
<p>Type <strong><span style="color: #800000;">=""</span></strong></p>
<p><span style="color: #000000;">Press Shift+Ctrl+Enter to apply the array.</span></p>
<p><img class="alignnone size-full wp-image-613" title="protectwitharray2" src="http://datapigtechnologies.com/blog/wp-content/uploads/2009/07/protectwitharray2.png" alt="protectwitharray2" width="416" height="332" /></p>
<p><span style="color: #ffffff;">.<br />
.</span></p>
<p><strong>Step 3:</strong> Hide the array formulas along with anything else you don't want your users to see.</p>
<p>When your users try to add or delete a column or row in the protected area, they'll get a face full of error message.</p>
<p><img class="alignnone size-full wp-image-611" title="protectwitharray3" src="http://datapigtechnologies.com/blog/wp-content/uploads/2009/07/protectwitharray3.png" alt="protectwitharray3" width="369" height="317" /></p>
<p><span style="color: #ffffff;">.<br />
.</span></p>
<p>I think this would be useful if you didn't want apply sheet protection but still wanted to prevent structural changes.  Although &#8211; I can't think of any reason why you would stay away from sheet protection.</p>
<p>What do you think?</p>
<div id="crp_related"><h3>Related Posts:</h3><ul><li><a href="http://datapigtechnologies.com/blog/index.php/array-formula-heresy/" rel="bookmark" class="crp_title">Array Formula Heresy</a></li><li><a href="http://datapigtechnologies.com/blog/index.php/autofilter-a-pivottable/" rel="bookmark" class="crp_title">AutoFilter a PivotTable</a></li><li><a href="http://datapigtechnologies.com/blog/index.php/copying-vlookups-across-multiple-columns/" rel="bookmark" class="crp_title">Copying VLOOKUPs Across Multiple Columns</a></li><li><a href="http://datapigtechnologies.com/blog/index.php/using-percentages-with-scroll-bars/" rel="bookmark" class="crp_title">Using Percentages with Scroll Bars</a></li><li><a href="http://datapigtechnologies.com/blog/index.php/lazy-alternate-shading/" rel="bookmark" class="crp_title">Lazy Alternate Shading</a></li></ul></div>]]></content:encoded>
			<wfw:commentRss>http://datapigtechnologies.com/blog/index.php/protect-worksheet-structure-with-array-formulas/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Limiting Movement within Your Worksheet</title>
		<link>http://datapigtechnologies.com/blog/index.php/limiting-movement-within-your-worksheet/</link>
		<comments>http://datapigtechnologies.com/blog/index.php/limiting-movement-within-your-worksheet/#comments</comments>
		<pubDate>Tue, 14 Jul 2009 03:42:01 +0000</pubDate>
		<dc:creator>datapig</dc:creator>
				<category><![CDATA[Excel Tips and Tricks]]></category>
		<category><![CDATA[Worksheet Protection]]></category>
		<category><![CDATA[Excel]]></category>

		<guid isPermaLink="false">http://datapigtechnologies.com/blog/?p=454</guid>
		<description><![CDATA[It's always fun to be passive aggressive toward your users.
Here's a new way to exert your impotent rage on the power user who's always doing wonky things to your spreadsheets.
You can limit navigation to a certain range of cells. Here's how:
 
Step 1: Press Alt+F11 to get to the Visual Basic Editor
Step 2: Choose the sheet you're working [...]]]></description>
			<content:encoded><![CDATA[<p>It's always fun to be passive aggressive toward your users.</p>
<p>Here's a new way to exert your impotent rage on the power user who's always doing wonky things to your spreadsheets.</p>
<p>You can limit navigation to a certain range of cells. Here's how:</p>
<p> <span id="more-454"></span></p>
<p><strong>Step 1:</strong> Press Alt+F11 to get to the Visual Basic Editor</p>
<p><strong>Step 2:</strong> Choose the sheet you're working with.</p>
<p> </p>
<p><img src="http://datapigtechnologies.com/blog/wp-content/uploads/2009/07/071209_0641_LimitingMov1.png" alt="" /></p>
<p> </p>
<p><strong>Step 3:</strong> Activate the Properties for that sheet by clicking View -&gt; Properties Window</p>
<p><strong>Step 4:</strong> In the 'ScrollArea' property, enter the range in which you would like to limit scrolling.</p>
<p> </p>
<p><img src="http://datapigtechnologies.com/blog/wp-content/uploads/2009/07/071209_0641_LimitingMov2.png" alt="" /></p>
<p> </p>
<p>Once you've implemented a limit, your users will not be able to navigate outside the set boundaries.</p>
<p> </p>
<p>You can also apply this via VBA.</p>
<p><img src="http://datapigtechnologies.com/blog/wp-content/uploads/2009/07/071209_0641_LimitingMov3.png" alt="" /></p>
<p> </p>
<p>To really make them feel like a monkey, you can hide the off limit columns.</p>
<p>This way, they get a safe little 'play area' where mummy and daddy can watch them closely.</p>
<p><img src="http://datapigtechnologies.com/blog/wp-content/uploads/2009/07/071209_0641_LimitingMov4.png" alt="" /></p>
<div id="crp_related"><h3>Related Posts:</h3><ul><li><a href="http://datapigtechnologies.com/blog/index.php/protect-worksheet-structure-with-array-formulas/" rel="bookmark" class="crp_title">Protect Worksheet Structure with Array Formulas</a></li><li><a href="http://datapigtechnologies.com/blog/index.php/smart-scroll-bars-in-excel/" rel="bookmark" class="crp_title">Smart Scroll Bars in Excel</a></li><li><a href="http://datapigtechnologies.com/blog/index.php/hide-subtotal-drill-thingies/" rel="bookmark" class="crp_title">Hide Subtotal Drill Thingies</a></li><li><a href="http://datapigtechnologies.com/blog/index.php/creating-a-zoom-box-in-excel/" rel="bookmark" class="crp_title">Creating a Zoom Box in Excel</a></li><li><a href="http://datapigtechnologies.com/blog/index.php/hack-into-a-protected-excel-2007-sheet/" rel="bookmark" class="crp_title">Hack into a protected Excel 2007 Sheet</a></li></ul></div>]]></content:encoded>
			<wfw:commentRss>http://datapigtechnologies.com/blog/index.php/limiting-movement-within-your-worksheet/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
	</channel>
</rss>
