2014-11-03 3 views
0

각 직원에 대해 별도의 작업 시트가있는 Excel에서 성능 저널을 만들려고합니다. 다른 작업 시트에 항목을 추가하는 단추가있는 표지를 만들었지 만 그 한 장만 표시됩니다. 항목을 붙여 넣을 작업 시트를 단추에 묻도록하는 방법이 있습니까?특정 작업 시트에 새 항목 만들기

Sub AddNewEntry() 

AddNewEntry Macro 

    Sheets("Blank").Select 
    Range("$A$6:$J$19").Select 
    Selection.Copy 
    Sheets("Sheet 1").Select 
    Range("$A$6").Select 
    Selection.Insert Shift:=xlDown 
    Range("$B$7:$C$7").Select 

End Sub 

저는 제가 콤보 상자 또는 중 하나에서 원하는 시트를 선택 할 수있는 새로운 라인 코드 Sheets("Sheet 1").Select의 라인을 교체하려면 다음과 같이 내가 가진

현재 코딩입니다 리스트 박스.

+0

콤보 상자 나 목록 상자가 이미있는 경우 'For Each' 루프를 사용하여 시트를 추가 할 수 있습니다. –

답변

0

좋아요. 마이클이 당신을 가야합니다. @ jbarker2160이 주석을 달았으므로 콤보 박스는 '버튼'을 언급하더라도 합리적인 선택입니다. 나중에 워크 시트 Sheet1에 배치 된 ActiveX Combobox가 있다고 가정하면 나중에 다시 버튼으로 돌아옵니다.

"ThisWorkbook"모듈에서 "열기"이벤트를 선택하고이 코드를 붙여 넣습니다 :

With Sheets("Sheet1").ComboBox1 
    .Clear 
     For Each ws In Sheets 
      .AddItem ws.Name 
     Next 
     .Value = "Sheet1" 
End With 

이렇게하면 통합 문서를 열 때 콤보 상자가 채워집니다.

"Sheet1"모듈에서 "워크 시트"-> "활성화"이벤트를 선택하고 위와 동일한 코드를 붙여 넣습니다. 이렇게하면 Sheet1이 다시 선택 될 때마다 새 워크 시트를 삭제하거나 추가 한 경우를 대비해 콤보 상자가 다시 채워집니다.

Dim sht As String 
    If ComboBox1.Value = "" Then ComboBox1.Value = "Sheet1" 
sht = ComboBox1.Value 
Sheets(sht).Select 

이것은 당신이 콤보 상자에서 선택한 워크 시트를 선택합니다 :> "변경"이벤트를 붙여 넣기-에 아래 코드 -은 "Sheet1의"모듈에서

은 "콤보 상자"를 선택 .

그러면 간단히 Sheets("Sheet 1").Select 행을 삭제할 수 있습니다.

버튼 아이디어를 사용하면 다른 워크 시트 각각에 버튼을 추가하여 Sheet1을 선택할 수 있습니다 (Combobox로 돌아가는 빠르고 쉬운 방법)?

관련 문제