作者:乔山办公网日期:
返回目录: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
没法控制那么细的,可以进行工作表锁定