宏简单实现账户控制可编辑列

功能实现的局限性不是一般的大。仅供思路参考。

宏编辑器插入窗体,同时需创建4个控件

需要,添加信任宏,

宏代码:

var EditableColumns=[];

function Workbook_Open(){ //Application.Visible = false;

UserForm1.Show();

}

function Workbook_SheetSelectionChange(Sh, Target){

if (EditableColumns[0] == "" || EditableColumns[0] == null || EditableColumns[0] == undefined){

Application.ActiveWorkbook.Close(0);

}else{

if(EditableColumns.indexOf(Target.Column)== -1 || Target.Columns.Count>1){ ActiveSheet.Cells.Item(1,EditableColumns[0]).Select();

} }}/** * UserForm1_CommandButton1_Click Macro */

function UserForm1_CommandButton1_Click(){

var username = UserForm1.TextEdit1.Text;

switch (username){

case "0":

EditableColumns = [6]; //账号 "0" 允许编辑 第6列,也就是 F 列

UserForm1.Close();

break;

case "1":

EditableColumns = [4,5]; //账号 "1" 允许编辑 第4列,第5列,也就是 D E 列

UserForm1.Close();

break;

default:

alert("账号不存在,请重新输入");

} }

/** * UserForm1_CommandButton2_Click Macro */

function UserForm1_CommandButton2_Click(){

Application.ActiveWorkbook.Close(0);

UserForm1.Close();}

function UserForm1_Terminate(){

//Application.ActiveWorkbook.Close(0); //目前 X64 525版本,启用本行代码就会崩溃。

//alert("用户窗体已经关闭")

}

黑龙江省
浏览 151
收藏
3
分享
3 +1
+1
全部评论