Excel 자동 채우기 단축키 사용자 정의
4779 단어 Excel
Excel ,
Marco ,
Auto Fill ,
Shortcut Key ,
Excel 매크로 ,
자동 충전 ,
단축키
Microsoft Excel은 다양한 단축키를 제공하여 전자 표를 조작하는 데 매우 편리하다. 특히 매우 크고 긴 시계를 조작할 때.
Excel의 자동 채우기 기능은 셀 내용, 공식, 채우기 시퀀스를 복사하는 작업을 간단하게 합니다.그러나 Excel은 채우기 손잡이를 드래그하여 채우기만 제공할 뿐 자동 채우기에 대한 단축키는 제공하지 않습니다.조작이 빈번할 때 오른손은 키보드와 마우스 사이를 왔다 갔다 해야 하기 때문에 피로하기 쉽다.시스템은 제공하지 않습니다. 프로그래머로서 VBA 매크로를 작성하여 자동 채우기를 실행하고 이 매크로에 단축키를 지정하여 단축키를 통해 자동 채우기 작업을 수행할 수 있습니다.
1: Excel 워크북 새로 만들기;VBA 편집기에 모듈을 추가하여 매크로 코드를 작성합니다.
소스 코드:
' Author: Ken Yang
' http://www.cnblogs.com/kenyang
' , 。
Sub AutoFill()
Dim SourceArea As Range, TargetArea As Range
Set SourceArea = Selection.Areas.Item(1)
Dim SourceBottomLeftCell As Range, SourceBottomRightCell As Range
Set SourceBottomLeftCell = SourceArea.Cells(SourceArea.Rows.Count, 1)
Set SourceBottomRightCell = SourceArea.Cells(SourceArea.Rows.Count, SourceArea.Columns.Count)
Dim TargetLastRow As Long, TargetLastCell As Range
If SourceBottomLeftCell.Offset(1, 0).Value = vbEmpty Then
If SourceBottomLeftCell.End(xlDown).Value = vbEmpty Then
If SourceBottomLeftCell.Column = 1 Then
If SourceBottomRightCell.Offset(1, 1).Value <> vbEmpty Then
Set TargetLastCell = SourceBottomRightCell.Offset(0, 1).End(xlDown).Offset(0, -1)
End If
Else
If SourceBottomLeftCell.Offset(1, -1).Value <> vbEmpty Then
Set TargetLastCell = SourceBottomLeftCell.Offset(0, -1).End(xlDown).Offset(0, SourceArea.Columns.Count)
End If
End If
Else
Set TargetLastCell = ActiveSheet.Cells(SourceBottomLeftCell.End(xlDown).Offset(-1, 0).Row, SourceBottomRightCell.Column)
End If
Else 'If SourceBottomLeftCell.Offset(1, 0).Value <> vbEmpty Then
Dim LastCell As Range
Set LastCell = SourceBottomLeftCell.End(xlDown)
Dim i As Long, LastRow As Long
LastRow = SourceBottomLeftCell.End(xlDown).Row
For i = 2 To SourceArea.Columns.Count
If SourceArea.Cells(SourceArea.Rows.Count, i).Offset(1, 0).Value = vbEmpty Then
LastRow = SourceBottomLeftCell.Row
Exit For
Else
Dim CurrentLastCell As Range
Set CurrentLastCell = SourceArea.Cells(SourceArea.Rows.Count, i).End(xlDown)
If CurrentLastCell.Row < LastCell.Row Then
LastRow = CurrentLastCell.Row
End If
End If
Next i
Set TargetLastCell = ActiveSheet.Cells(LastRow, SourceBottomRightCell.Column)
End If
If Not TargetLastCell Is Nothing Then
Dim TargetAreaName As String
TargetAreaName = SourceArea.Cells(1, 1).Address(0, 0) & ":" & TargetLastCell.Address(0, 0)
Set TargetArea = Range(TargetAreaName)
On Error GoTo ErrHandler
SourceArea.AutoFill Destination:=TargetArea
TargetArea.Select
End If
ErrHandler:
End Sub
2: 매크로의 단축키 Ctrl + E를 지정합니다.Ctrl + E를 단축키로 사용하는 이유는 Ctrl + E가 Excel 내장 기능에 사용되지 않고 Ctrl 키와 E 키가 모두 키보드의 왼쪽 구역에 있기 때문에 왼손으로 한 손으로 조작할 수 있다.
3: 워크북을 Excel 로드 매크로로 저장합니다.
4: Excel 로드 매크로를%programfiles%\Microsoft Office\Office12\XLSTART 디렉터리(Excel 2003 디렉터리:%programfiles%\Microsoft Office\Office11\XLSTART)로 복사하여 Excel이 시작될 때 매크로 코드를 자동으로 로드합니다.
따라갈 수도 있다여기 매크로 파일을 다운로드하여%programfiles%\Microsoft Office\Office12\XLSTART 디렉터리에 압축을 풀면 사용할 수 있습니다.다운로드된 매크로 파일은 Excel 2007에만 지원됩니다.Excel 2003의 경우 이전 단계를 따릅니다.
이렇게 하면 Excel에서 Ctrl + E를 누르면 아래로 자동으로 채워집니다.
결함:
VBA 매크로 코드에서 실행되는 작업이며 취소(undo)는 지원되지 않습니다.
버그를 보고하고 댓글을 남겨 주세요.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Excel Grep toolExcel Grep tool ■히나가타 ■ 시트 구성 ExcelGrep.cls...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.