如何用VBA语句让EXCEL里某单元格不能被输入或更改?(比如说要让A1单元格不被输入)请诸路VBA高手赐教,谢谢!!

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何用VBA语句让EXCEL里某单元格不能被输入或更改?(比如说要让A1单元格不被输入)请诸路VBA高手赐教,谢谢!!相关的知识,希望对你有一定的参考价值。

Sub Macro1()
Range("1:65536").Locked = False '解除全部锁定
Range("A1").Select '设置新锁定
Selection.Locked = True '开启锁定
ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True
End Sub
参考技术A 这个用vba实现和你单元格锁定没什么区别的,也是要锁定你的单元格,然后把其他不用的单元格解锁,然后锁定整个表格,才能达到你要求的目的。 参考技术B Private Sub Worksheet_Activate()
Dim A As String
A = Cells(1, 1)
Cells(2, 1).Select
End Sub

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Cells(1, 1) = A Then
Else
MsgBox "此单元格保护!不能改写操作!"
Cells(1, 1) = A
End If
End Sub

VBA研究VBA中如何用求和函数SUM求和

作者:iamlaosong

SUM是Excel的函数,在VBA中调用需要加上Application.WorksheetFunction.Sum(),但是,Excel写法却不能用。

比如,excel单元格中可以写成=sum(d2:d100),VBA中是不能这么写的,即使加上引号写成Application.WorksheetFunction.Sum(“d2:d100”),语法上倒是没什么问题,却得不到正确的结果。

正确的写法是:Application.WorksheetFunction.Sum(range(“d2:d100”)),如果用变量,写法如下:

        maxrow = [D65536].End(xlUp).Row             '行数,出库单号数量
        shuliang = Application.WorksheetFunction.Sum(Range("d2:d" & maxrow))

其中:

Application表示当前的EXCEL运行的程序。
WorksheetFunction表示调用当前EXCEL程序里的公式。
后面出现的SUM就是EXCEL里的默认公式。

Excel求和函数很多,如下:

SUM、SUMIF、SUMIFS、SUMPRODUCT、DSUM

以上是关于如何用VBA语句让EXCEL里某单元格不能被输入或更改?(比如说要让A1单元格不被输入)请诸路VBA高手赐教,谢谢!!的主要内容,如果未能解决你的问题,请参考以下文章

在EXCEL中 如何用VBA查找某特定单元格并返回该单元格的行和列值?

EXCEL单击单元格事件

如何用vba实现在EXCEL固定区域坐标内点击单元格,显示日期控件

在excel中如何用vba来实现查找特定的字符串?

如何用宏vba实现,关闭excel表格时,弹出msgbox对话框,引用某单元格的数值。

请问,在Excel中如何用VBA提取数据后保留原格式不变?