Excel-从受保护的工作表中的下拉列表中选择

时间:2019-02-26 15:47:20

标签: excel vba

我目前有一个工作表,需要保护单元格,但允许用户在几个不同的范围内使用下拉菜单。范围具有可变的列号,因为可以添加更多列。

当我手动保护工作表并选择适当的选项时,所有单元格都被锁定,但用户仍然可以从必要单元格的下拉列表中进行选择。但是,当我使用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锁定之间有什么区别吗?

1 个答案:

答案 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