현재 셀과 내용이 같은 행이나 열의 마지막 셀로 이동하여 선택할 수 있는 단축키가 있는지 알고 싶습니다. 즉, Ctrl + 화살표는 데이터 배열의 가장자리로 이동하지만 동일한 표시된 내용의 배열 가장자리로 이동하고 이상적으로는 모두 선택하고 싶습니다(예: 동일한 결과이지만 반드시 동일한 수식일 필요는 없음). .
예를 들어 "1"이 있는 100개의 셀이 있고 그 뒤에 "2"가 있는 100개의 셀이 있고 그 다음에는 "3"이 있는 100개의 셀이 있는 열이 있습니다. "2"가 있는 셀 중 하나를 선택한 경우 바로가기는 "3" 바로 앞의 "2"가 있는 마지막 셀을 선택합니다.
대답이 셀의 표시된 결과와 셀 내용 간의 차이를 처리할 수 있다면 좋을 것입니다. 즉, "2"를 표시하는 열의 셀에는 실제로 "=1+1" 및 "=라는 셀이 있습니다. 3-1").
답변1
Excel에는 이러한 기능이 내장되어 있지 않지만 만들 수는 있습니다.
Excel 2010 키보드 단축키,엑셀 2013 키보드 단축키,Excel 온라인 키보드 단축키
원하는 키보드 단축키를 시뮬레이션하려면 다음을 사용하여 VBA를 사용할 수 있습니다.애플리케이션.온키매크로에 키보드 조합을 할당하는 방법입니다. 아이디어는 다음과 같습니다. Workbook_Open 이벤트에서 매크로에 키보드 명령을 할당합니다. Workbook_BeforeClose 이벤트에서 동일한 명령을 아무 것도 할당하지 않습니다(기본값으로 재설정). 모듈에서 해당 키보드 명령에 대해 실행할 서브루틴을 작성합니다.
이제 통합 문서를 열 때마다 선택한 키보드 명령을 통해 원하는 작업을 수행하는 매크로가 실행됩니다. 이는 단순히 시트 주위를 이동하는 것 이상으로 좋습니다. 내 예에서는 아래쪽 및 위쪽에 CTRL+D 및 CTRL+U 키를 할당했지만 가장 적합한 키를 선택하면 됩니다. 이러한 키보드 명령이 모든 파일에 대해 작동하도록 하려면 대신 개인 매크로 통합 문서에 저장한다는 점을 제외하면 전제는 동일합니다.
파일을 첨부하는 방법을 알 수 없어서 여기에 코드가 있습니다. (이 코드는 거칠고 빠릅니다. 가장 강력한 코드가 아닌 가장 간단한 예를 원했습니다.)
"ThisWorkbook" 개체에서:
Private Sub Workbook_Open()
Application.OnKey "^d", "findLastOfThis"
Application.OnKey "^u", "findFirstOfThis"
End Sub
Private Sub Workbook_BeforeClose(Cancel As Boolean)
Application.OnKey "^d"
Application.OnKey "^u"
End Sub
모듈에서:
Option Explicit
Private Sub findLastOfThis()
Dim val As Variant
Dim r As Long, c As Long
val = ActiveCell.Value
c = ActiveCell.Column
For r = ActiveCell.Row To ActiveSheet.UsedRange.Rows.Count
If Cells(r, c).Value <> val Then Exit For
Next
r = r - 1
Cells(r, c).Activate
End Sub
Private Sub findFirstOfThis()
Dim val As Variant
Dim r As Long, c As Long
val = ActiveCell.Value
c = ActiveCell.Column
For r = ActiveCell.Row To 1 Step -1
If Cells(r, c).Value <> val Then Exit For
Next
r = r + 1
Cells(r, c).Activate
End Sub