乔山办公网我们一直在努力
您的位置:乔山办公网 > excel表格制作 > excel中使用<em>vba</em>如何能够实现如果我这个单元格里的内容是...-Excel

excel中使用<em>vba</em>如何能够实现如果我这个单元格里的内容是...-Excel

作者:乔山办公网日期:

返回目录:excel表格制作


Excel中用VBA实现把单元格中后四个字符修改颜色,其实就是一个Font的Color参数的修改。
代码如下:
Sub FontColor()
For i = 3 To 14
SStr = Len(Range("J" & i)) - 3
Range("J" & i).Characters(Start:=SStr, Length:=4).Font.Color = -16776961
Next i
End Sub
代码原图:


这里用了一个For循环语句,主要是循环单元格用的,这里循环的是3到14,range里表示的是J列,链接变量,从J3单元格一直循环设置到J14单元格。
效果如图:



假定A1单元为1,B1锁定,A1变为2时解锁。以下代码能满足你的要求:

Private Sub Worksheet_Change(ByVal Target As Range)
   If Target.Address <> "$A$1" Then Exit Sub
   ActiveSheet.Unprotect
   If Target = 1 Then Range("B1").Locked = True
   If Target = 2 Then Range("B1").Locked = False
   ActiveSheet.Protect
End Sub

注意两点:一是代码不能写在模块里,就写在工作表代码区,二是在写代码前先将所有单元格解锁:


savecopyas 是复制zhidao还会保留原先的格式
另存为一下xlsx就好了,FileFormat:=xlOpenXMLWorkbook
ThisWorkbook.SaveAs Filename:=ThisWorkbook.Path & Range("Q3").Value & ".xlsx", FileFormat:=xlOpenXMLWorkbook

没法控制那么细的,可以进行工作表锁定

相关阅读

关键词不能为空
极力推荐

ppt怎么做_excel表格制作_office365_word文档_365办公网