2013-03-06 1 views
4

가능한 경우 시나리오를 알려주세요 : 사용자가 Sheet1!A1의 "세부 정보"버튼을 클릭하면 Sheet2!B1으로 이동하여 동일한 행의 "뒤로"버튼을 클릭하면 Sheet1!A 행으로 다시 이동합니다. 에서. 같은 방법으로 그는 Sheet2!B1 행으로 이동하는 "세부 정보 이동"버튼을 사용하여 Sheet1!J1 셀을 클릭 할 수 있지만 이번에는 "뒤로"버튼을 사용하면 사용자가 출현 한 위치를 기억할 수 있도록 Sheet1!J 행으로 되돌아갑니다.Excel에서 사용자가 원래 위치로 이동하기위한 뒤로 버튼을 만드는 방법은 무엇입니까?

답변

3

삽입 루틴 ThisWorkbook이 코드 :

Private rngLastLink As Range 

Private Sub Workbook_SheetFollowHyperlink(ByVal Sh As Object, ByVal Target As Hyperlink) 
    If UCase(Target.Parent.Value) = "BACK" Then 
     If rngLastLink Is Nothing Then 
      Application.EnableEvents = False 
      Target.Follow 
      Application.EnableEvents = True 
     Else 
      rngLastLink.Worksheet.Activate 
      rngLastLink.Activate 
     End If 
    Else 
     Set rngLastLink = Target.Parent 
    End If 
End Sub 

그것은 "뒤로"라는되지 않은 누르면 하이퍼 링크에서 셀을 저장합니다. "Back"을 누르면이 셀이 다시 활성화됩니다.

+0

내가 필요한 바로 작동합니다! 감사합니다! – YMC

0

먼저 새 버튼을 만들어야합니다. 버튼이 성공적으로 만들어지면 매크로 화면이 나타납니다.

복사 시나리오에 맞게 매크로

변경 시트 2로이 코드

Sub Button1_Click() 
Worksheets("sheet2").Activate 
End Sub 

.

Private Sub Workbook_SheetDeactivate(ByVal Sh As Object) 
Sheets.Select 
ActiveCell.EntireRow.Select 
ActiveSheet.Select 

워크 시트 사이의 전체 행을 동기화합니다 - 당신이 워크 시트를 변경하는 경우에만 실행됩니다 ...

Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target 
As Range) 
Sheets.Select 
ActiveCell.EntireRow.Select 
ActiveSheet.Select 
End Sub 

활성 시트마다 사용자 변경 세포를 발사합니다.

+0

나는 그것이 그들, 별도의 버튼을 다시 사용하여 행을 동기화 유지 – YMC

+0

동적 주소를 뒤로 버튼을 만들 수있는 내 작업과 관련이 표시되지 않습니다 ... – Hituptony

+0

는 어디 버튼을 다시입니까? 나는 뒤로 버튼이 필요한 행 사용자에 있어야합니다. 행 동기화 란 무엇을 의미합니까? – YMC

3

사용자가 Excel 옵션> 빠른 접근 도구 모음> 모든 명령을 선택합니다. "뒤로"와 "포워드"를 추가하면 웹 페이지처럼 링크를 건너 뛰고 뒤로 탐색 할 수 있습니다.

+0

불행히도, 나를 위해 작동하지 않습니다 단추는 내가 설명한 시나리오에 따라 행에 있어야 툴바에, 우리는 사용자의 도구 모음을 관리 할 수 ​​없습니다. 그러나 예를 들어 VB 매크로를 사용하여이 뒤로 단추를 모방 할 수 있습니까? – YMC

+0

전/후 단추가 Excel에서 이와 같이 작동하지 않는다고 생각합니다. 적어도 이전 선택으로 되돌아 가지 않습니다. :-(실제로 Excel의 표준 기능이 되길 바랄지라도 –

+1

나에게 도움이 될만한 시도를 해보십시오. 같은 시트 또는 다른 링크의 마지막 셀로 이동합니다. 최소한 Excel 2010에서는 수행합니다. –

0

돌아 가기 위해 Alt-Left 화살표를 사용했습니다.

Sub GoBackToWhereverYouCameFrom() 
    Application.SendKeys ("%{LEFT}") 
End Sub 
관련 문제