背景:锁定EXCEL表头 一.手动操作流程 其基本逻辑并不赋值,手动操作流程是: 1.取消所有单元格的"锁定"格式 CTRL+A,选中全部的单元格→单击右键→设置单元格格式→保护→取消勾选锁定 2.选中指定单元格(需要锁定的单元格)→单击右键→设置单元格格式→保护→勾选锁定 3.点击"审阅"→保护工作表→下面的复选框全部选择→确定→输入密码→再次输入密码即可 二.VBA的方法 1 Function ProtectRange(rng As Variant) 2 App…
Private Sub Worksheet_SelectionChange(ByVal Target As Range) '可以直接sub(),不然选择就会触发vba    Dim rows_count As Integer    Dim rows_id As Integer    Dim column_count As Integer    Dim column_id As Integer    column_count = Selection.Columns.Count '返回选择区域列数 …
Then .Range("AF4").Value = pjno .Range("A1:AH56").Locked = False .Range("F6:M6").Locked = True ActiveSheet.Protect Password:="locked" Exit Sub Else .Range("AF4").Value = pjno End If…
在日常数据处理过程中,需要对缺失数据进行填充时,按一定逻辑规则进行处理,实现快速填充,规范数据源.此篇给大家带来多种填充数据的场景. 业务使用场景 对各种系统中导出的数据,很多时候存在数据缺失的情况,需要进行补全处理,方可进行下一步的数据分析操作.数据的向下.向上.向左.向右填充的场景因此产生,特别是向下填充. 空数据向下填充 填充后的数据结果 除了空值填充外,还有一大需求是单元格区域的公式统一化填充.需要在此进行简单的科学数据化管理的小普及. 在Excel表格中,没有类似数据库的强制性数据结构…
使用VBA对指定的单元格赋值并填充颜色 ====================================================== 代码区域 ====================================================== Sub row应用() For Each rw In Rows("1:13") = Then rw.Interior.ColorIndex = rw.Value = End If Next End Sub 效果如下图:…
方法1:运用excel单元格拆分合并实现 思路:用VBA正则查询左侧括号个数,对右侧单元格逐一按逗号.顿号等符号分列,同时左侧按括号分列(分列只能按括号单边分列),分列完成后按要求合并,本题事例把括号换成{}+把对应答案的空填入,本题先按逗号分列,再按顿号.分列后按左侧分出来的第一列和右侧分出来第一列先合并,第二第三.....依次类推,合并再次用正则匹配,此时匹配{}的个数,如果同行{}个数和替换之前()的一致,说明是拆分正确的.然后筛选不一致的,重新按新的符号拆分,拆分后操作和第一次的一致,依…
Sub W()   ' MsgBox "行数:" & Selection.Rows.Count    Dim rows_count As Integer    Dim rows_id As Integer    Dim column_count As Integer    column_count = Selection.Columns.Count '获取选择区域的列数    'MsgBox column_count '打印列数    rows_id = ActiveCell.…
准备工作: 1.首先需要提供一个word模板,并且标记好您要插入书签的位置,定义书签的命名.如图 2.模拟您要插入的Excel原始数据和图表对象 插入代码如下: Private Sub CommandButton1_Click() Dim App, WrdDoc, Mypath As String On Error Resume Next '定义原始模板的储存路径,默认和excel在同一路径 Mypath = ThisWorkbook.Path & "\模板.doc" '用Se…
今天项目上有个应用,获取指定Excel文件下的所有sheet的名称以及当前sheet中指定单元格的值,并把他们写到固定的sheet中去,看了下,文件比较多,而且每个文件sheet的个数比较多,也不一样,所以打算写个程序来帮我们实现任务,代码很简单,也写的比较死板.欢迎大家给出意见及你的代码: Sub aaaa() Dim sh1, sh2 As Worksheet Dim shName, cellValue As String 'On Error Resume Next ).Sheets() '…
Excel的数据保护能力有限,诸如之前提及过的工作表保护.工作薄保护等,都是十分微弱的保护措施,而对于强保护的工作薄打开密码来说,它像是个总开关一样,要么全不能看,要么就全看到.有这样的场景需求,一份工作表内,有部分内容是较为敏感的,不想让人轻易看到,在这样的场景下,有必要对单元格的内容进行加密处理,原生功能不支持,Excel催化剂带给大家行业公认较为可靠的加密手段,应对一般性的加密需求足够. 使用场景 单元格的部分内容需要加密起来不给人查看到,这个简单的需求,真正用原生功能实现起来,还真不容易…