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

相关文章
|
11天前
|
Python
使用OpenPyXL库实现Excel单元格其他对齐方式设置
本文介绍了如何使用Python的`openpyxl`库设置Excel单元格中的文本对齐方式,包括文本旋转、换行、自动调整大小和缩进等,通过具体示例代码展示了每种对齐方式的应用方法,适合需要频繁操作Excel文件的用户学习参考。
136 85
使用OpenPyXL库实现Excel单元格其他对齐方式设置
|
2月前
如何设置Excel的快捷键?
【10月更文挑战第19天】如何设置Excel的快捷键?
378 8
Excel中用宏VBA实现GBT 4761-2008 家庭关系代码转换
Excel中用宏VBA实现GBT 4761-2008 家庭关系代码转换
|
3月前
|
数据采集 数据库
在EXCEL中VBA编程检验身份证号码有效性
在EXCEL中VBA编程检验身份证号码有效性
|
4月前
|
开发工具 开发者
Excel 2016 VBA 提取单元格的中文字符
Excel 2016 VBA 提取单元格的中文字符
39 1
|
4月前
|
算法 数据挖掘 Java
日常工作中,Python+Pandas是否能代替Excel+VBA?
日常工作中,Python+Pandas是否能代替Excel+VBA?
Excel如何使用VBA操作引用其它工作簿中的单元格
Excel引用其它工作簿中的单元格的值及使用VBA操作
|
5月前
Excel 下拉选择列表的单元格
Excel 下拉选择列表的单元格
36 0
|
18天前
|
数据采集 数据可视化 数据挖掘
利用Python自动化处理Excel数据:从基础到进阶####
本文旨在为读者提供一个全面的指南,通过Python编程语言实现Excel数据的自动化处理。无论你是初学者还是有经验的开发者,本文都将帮助你掌握Pandas和openpyxl这两个强大的库,从而提升数据处理的效率和准确性。我们将从环境设置开始,逐步深入到数据读取、清洗、分析和可视化等各个环节,最终实现一个实际的自动化项目案例。 ####
|
2月前
|
数据采集 存储 JavaScript
自动化数据处理:使用Selenium与Excel打造的数据爬取管道
本文介绍了一种使用Selenium和Excel结合代理IP技术从WIPO品牌数据库(branddb.wipo.int)自动化爬取专利信息的方法。通过Selenium模拟用户操作,处理JavaScript动态加载页面,利用代理IP避免IP封禁,确保数据爬取稳定性和隐私性。爬取的数据将存储在Excel中,便于后续分析。此外,文章还详细介绍了Selenium的基本设置、代理IP配置及使用技巧,并探讨了未来可能采用的更多防反爬策略,以提升爬虫效率和稳定性。
137 4