VBA之EXCEL删除和设置单元格行高等

简介: ‘删除Sheet1上的单元格区域A1:D10,并将其余单元格左移以填补被删除单元格的位置 Sheet1.Range(“A1:D10”).Delete Shift:=xlShiftToLeft   ‘删除指定行 Range(“1:1”).

删除Sheet1上的单元格区域A1:D10,并将其余单元格左移以填补被删除单元格的位置

Sheet1.Range(“A1:D10”).Delete Shift:=xlShiftToLeft

 

删除指定行

Range(“1:1”).Delete

 

删除指定列

Columns(5).Delete

 

删除当前行

ActiveCell.EntireRow.Delete

 

删除工作表中的重复行

Sub DeleteDupes(strSheetName as String,strColLetter as string)

       Dim strColRange as String

       Dim rngCurrentCell as Range

       Dim rngNextCell as Range

       strColRange=strColLetter & “1”

Worksheets(strSheetName).Range(strColRange).Sort Key1:=Worksheets(strSheetName).Range(strColRange)

       Set rngCurrentCell=Worksheets(strSheetName).Range(strColRange)

       Do While Not IsEmpty(rngCurrentCell)

              Set rngNextCell=rngCurrentCell.Offset(1,0)

              If rngNextCell.Value=rngCurrentCell.Value Then

                     rngCurrentCell.EntireRow.Delete

              End If

              Set rngCurrentCell=rngNextCell

       Loop

End Sub

 

删除自定义数字格式

Sub DeleteNumberFormat()

       MsgBox “从当前工作簿中删除000-00-0000的数字格式

       ActiveWorkbook.DeleteNumberFormat(“000-00-0000”)

End Sub

 

清除内容

Sub ClearContents()

       Selection.SpecialCells(xlCellTypeConstants,23).Select

       Selection.ClearContents

End Sub

 

清除选定单元格的批注

Sub ClearComments()

       Selection.SpecialCells(xlCellTypeComments,23).Select

       Selection.ClearComments

End Sub

 

单元格的插入

在数据表上的单元格区域A1:C5中插入新单元格,并将该位置上原来的单元格向下移动

Sheet1.Range(“A1:C5”).Insert Shift:=xlShiftDown

 

在当前单元格上方插入行

Sub InsertRow()

Dim rRow as Long

MsgBox “在当前单元格上方插入一行

rRow=Selection.Row

ActiveSheet.Rows(Row).Insert

End Sub

 

在当前单元格所在列插入列

Sub InsertColumn()

       Dim cColumn As Long

       MsgBox “在当前单元格所在列的左边插入一列

       cColumn=selection.Column

       ActiveSheet.Columns(cColumn).Insert

End Sub

 

在当前单元格上方插入多行

Sub InsertManyRow()

       MsgBox “在当前单元格所在行上插入三行

       Dim rRow as long ,I as long

       For i=1 to 3

              rRow=Selection.Row

              ActvieSheet.Rows(rRow).Insert

       Next i

End Sub

在活动工作表的第1-3行处插入三行

Sub InsertRows()

       MsgBox “在当前单元格所在行上方插入三行

       ActiveSheet.Rows(“1:3”).Insert

End Sub

 

隐藏当前单元格所在的行

Sub HideRow()

       Dim iRow as Long

       MsgBox “隐藏当前单元格所在的行

       iRow=ActiveCell.Row

       ActiveSheet.Rows(iRow).Hidden=True

       MsgBox “取消隐藏

       ActiveSheet.Rows(iRow).Hidden=False

End Sub

 

隐藏当前单元格所在的列

Sub HideColumn()

       Dim iColumn as Long

       MsgBox “隐藏当前单元格所在的列

       iColumn =ActiveCell.Column

       ActiveSheet.Rows(iColumn).Hidden=True

       MsgBox “取消隐藏

       ActiveSheet.Rows(iColumn).Hidden=False

End Sub

 

设置当前所在单元格的行高

Sub SetRowHeight()

       MsgBox “将当前单元格所在的行高设置为25”

       Dim rRow As Long,iRow As Long

       rRow=ActiveCell.Row

       iRow=ActiveSheet.Rows(rRow).RowHeight

       ActiveSheet.Rows(rRow).RowHeight=25

       MsgBox “恢复到原来的行高

       ActiveSheet.Rows(rRow).RowHeight=iRow

End Sub

 

设置最合适的行高和列宽

Sub AutoFitRowCol()

       Rows(“9:9”).Select

       Selection.Rows.AutoFit

       Columns(“B:D”).Select

       Selection.Columns.AutoFit

End Sub

 

设置当前单元格的列宽

Sub SetColumnWidth()

       MsgBox “将当前单元格所在列的列宽设置为20”

       Dim cColumn As Long,iColumn As Long

       cColumn=ActiveCell.Column

       iColumn=ActiveSheet.Columns(cColumn).ColumnWidth

       ActiveSheet.Columns(cColumn).ColumnWidth=20

       MsgBox “恢复至原来的列宽

       ActiveSheet.Columns(cColumn).ColumnWidth= iColumn

End Sub

 

锁定A1:A5单元格

Range(“A1:A5”).Locked=True

 

接除对Sheet1A1:G37区域单元格的锁定,以便当该工作表受保护时也可以对这些单元格进行修改

Sub UnlockedCell()

       Worksheets(“Sheet1”).Range(“A1:G37”).Locked=False

       Worksheets(“Sheet1”).Protect

End Sub

 

自动对有内容的单个单元格锁定,对没有内容的单个单元格解除锁定

Private Sub Worksheet_SelectionChange(ByVal Targe As Range)

       On Error Resume Next

       If Targe.Cells.Count=1 Then

      如果目标单元格为空

              If Targe=”” Then

              解除工作表的保护

                     Me.Unprotect(“password”)

                     Target.Locked=False

                     Me.Protect(“password”)

              Else

                     Me.Unportect(“password”)

                     设置单元格的锁定

                     Target.Locked=True

                     Me.Protect(“password”)

              End If

       Else

              MsgBox “请选择一个单元格”,vbInformation

              ActiveCell.Select

       End If

End Sub

相关文章
|
2月前
|
数据处理
Excel VBA 自动填充空白并合并相同值的解决方案
在Excel中,常需将一列数据中的空白单元格用上方最近的非空值填充,并合并连续相同值。本VBA宏方案自动完成此操作,包含代码实现、使用方法及注意事项。通过简单步骤添加宏,一键处理数据,提升效率,确保准确性。适用于频繁处理类似数据的用户。
56 7
|
2月前
|
Python
使用OpenPyXL库实现Excel单元格其他对齐方式设置
本文介绍了如何使用Python的`openpyxl`库设置Excel单元格中的文本对齐方式,包括文本旋转、换行、自动调整大小和缩进等,通过具体示例代码展示了每种对齐方式的应用方法,适合需要频繁操作Excel文件的用户学习参考。
187 85
使用OpenPyXL库实现Excel单元格其他对齐方式设置
|
4月前
如何设置Excel的快捷键?
【10月更文挑战第19天】如何设置Excel的快捷键?
577 8
|
5月前
|
数据采集 数据库
在EXCEL中VBA编程检验身份证号码有效性
在EXCEL中VBA编程检验身份证号码有效性
Excel中用宏VBA实现GBT 4761-2008 家庭关系代码转换
Excel中用宏VBA实现GBT 4761-2008 家庭关系代码转换
|
6月前
|
算法 数据挖掘 Java
日常工作中,Python+Pandas是否能代替Excel+VBA?
日常工作中,Python+Pandas是否能代替Excel+VBA?
61 0
|
6月前
|
开发工具 开发者
Excel 2016 VBA 提取单元格的中文字符
Excel 2016 VBA 提取单元格的中文字符
67 1
|
7月前
Excel 下拉选择列表的单元格
Excel 下拉选择列表的单元格
48 0
Excel如何使用VBA操作引用其它工作簿中的单元格
Excel引用其它工作簿中的单元格的值及使用VBA操作
|
2月前
|
存储 Java easyexcel
招行面试:100万级别数据的Excel,如何秒级导入到数据库?
本文由40岁老架构师尼恩撰写,分享了应对招商银行Java后端面试绝命12题的经验。文章详细介绍了如何通过系统化准备,在面试中展示强大的技术实力。针对百万级数据的Excel导入难题,尼恩推荐使用阿里巴巴开源的EasyExcel框架,并结合高性能分片读取、Disruptor队列缓冲和高并发批量写入的架构方案,实现高效的数据处理。此外,文章还提供了完整的代码示例和配置说明,帮助读者快速掌握相关技能。建议读者参考《尼恩Java面试宝典PDF》进行系统化刷题,提升面试竞争力。关注公众号【技术自由圈】可获取更多技术资源和指导。

热门文章

最新文章