2016-06-15 4 views
1

그래서 내가 통합 문서를 열 때 사용자 정의 폼을 포함 엑셀에 대한 설문 조사를했다 (그래서 당신은 엑셀을 열 때). userform은 사용자가 사용하고자하는 언어 (프랑스어 또는 영어)를 선택하게합니다. 내 문제는 사용자가 파일을 처음 열 때 팝업 만 나타나게하고 싶습니다. 그래서 그는 파일을 열고, 언어를 선택하고, 질문에 답하고, 파일을 저장합니다. 내가 파일을 다시 열면 언어를 다시 선택하지 않기를 바란다.정의 폼 VBA를 엑셀

정의 폼은 처음 사용할 때 표시 할 수있는 방법이 있습니까?

그렇지 않은 경우 설문지의 특정 상자에서 값을 변경 한 다음 해당 값을 userform에 연결하여 값이 변경된 경우 다음 번에 열지 않도록하려고합니다. 그게 가능한지 나는 모른다.

, 당신의 도움을 주셔서 감사합니다

빈센트

+2

당신은 숨겨진 시트, 말,의 값을 설정할 수 있습니다. 이 시트에 이전에 양식을 작성했음을 알 수있는 값이있는 경우이 시트에로드 된 값이 있는지 확인할 수 있습니다. –

+0

그래, 좋은 생각 덕분에 – petithomme

답변

0

일반적인 쉬운 방법은 당신이 저장 한 후 값을 저장하는 세포를 사용할 수있는 숨겨진 워크 시트를 가지고하는 것입니다.

Private Sub Workbook_Open() 
    'Where HiddenSheet is the name of your hidden worksheet 
    If ActiveWorkbook.Sheets("HiddenSheet").Cells(1, 1).Value = 0 Then 
     'Code to open the form 
    End If  
End Sub 

그리고 나서 일단 사용자가 질문을 완료하면 다시 열리지 않도록 셀 값을 변경할 수 있습니다.

ActiveWorkbook.Sheets("HiddenSheet").Cells(1, 1).Value = 1 
+0

그래, 좋은 생각이야. 그래서 기본적으로 HiddeSheet는 I 또는 사용자 둘 다에 액세스 할 수 있습니다 시트인가? 사용자가 파일을 저장할 때 시트의 A1에서 말하는 셀 값을 변경할 수 있습니까? @Alex – petithomme

+0

@petithomme 예, 비밀 번호를 숨길 수있는 시트. 액세스 할 수 있지만 사용자는 보거나 알 수 없습니다. 모든 종류의 설정이나 유지하려는 데이터에 대해 셀을 선택할 수 있습니다. –

+0

아 시원하고 내가 코드에서 당신이 시트의 이름 아래에 서면으로 작성했습니다 상상은 "HiddenSheet은"이었다. 그래서 나는 그것을 원하는 방식으로 명명 할 수 있지만 코드에 정확한 이름을 삽입 할 수 있습니까? – petithomme

0

나는 숨기고 싶은 워크 시트에서이 문장을 사용하고 싶습니다.

Private Sub Worksheet_Activate() 
    If ActiveSheet.Visible Then ActiveSheet.Visible = False 
End Sub 

기본적으로 사용자는 시트를 시도하고 다시 숨길 수 있지만 즉시 다시 숨 깁니다. 물론 암호를 보호하려면 암호가 필요하지만 걱정할 필요가없는 사용자 정보를 표시하지 않는 것이 좋습니다. 이 질문의 일부와 관련된 것으로 보인다 나는이를 추가 할 것

생각. 희망이 도움이됩니다. 당신이 설문지를 작성 후

+0

오, 확인해 보겠습니다. 지금 방금 보호 기능을 제거하기 전에 액세스 권한이 없도록 통합 문서 보호 기능을 사용하고 있습니다. – petithomme

+0

정말로 시트를 숨기려면'Visible' 속성을'False' 대신'xlSheetVeryHidden'으로 설정할 수 있습니다 –

+0

나는 그것을 잘 몰랐습니다! –

관련 문제