我目前有一个工作表,需要保护单元格,但允许用户在几个不同的范围内使用下拉菜单。范围具有可变的列号,因为可以添加更多列。
当我手动保护工作表并选择适当的选项时,所有单元格都被锁定,但用户仍然可以从必要单元格的下拉列表中进行选择。但是,当我使用VBA锁定工作表(这对于某些宏才能起作用)时,此功能消失了。
我在VBA中所做的只是
'variable declarations
ws1.Unprotect Password:="pw"
ws1.Cells.Locked = False
'lots of code here
ws1.Cells.Locked = True
ws1.Protect Password:="pw", UserInterfaceOnly:=True, _
AllowDeletingColumns:=True, AllowFiltering:=True, AllowFormattingCells:=True,_
AllowFormattingColumns:=True, AllowUsingPivotTables:=True
我已经读到AllowFiltering:=True
应该可以在锁定的单元格中进行下拉选择,但是在这里似乎不起作用。有人知道我手动锁定和通过vba锁定之间有什么区别吗?
答案 0 :(得分:0)
您应该能够只指定要让用户编辑的单元格范围:
<?php
require "connection.php";
if (!isset($_GET['param1'])) {
echo '<p align="center"> No data passed!</p>"';
}
if (strcmp($_GET['param1'],'FirstParam')== 0)
{
$sql= "Query HERE TO ADD INTO DB";
mysqli_query($connection,$sql);
if ($connection->query($sql) === TRUE) {
echo "Record updated successfully";
} else {
echo "Error updating record: " . $connection->error;
}
mysqli_close($connection);
}
我不确定无法测试,但是以下方法可以解决问题:
Range("Enter range here").Locked = False