この記事では、Excelシートを非表示にするためのマクロを作成します。

Excelシートは、VBAコードを使用してプロパティを変更することで非表示になります。

非表示のExcelシートは、Excelアプリケーションの再表示ボタンを使用して表示することはできません。

この例では、ゲート登録フォームを作成しました。

ArrowRegistration form

ユーザーがフォームに詳細を入力して送信ボタンをクリックすると、詳細が「データ」シートに保存されます。 「送信」ボタンには「SubmittingDetail」マクロが割り当てられています。

ArrowDataSheet

「データシート」ボタンをクリックすると、「データ」シートを非表示または非表示にできます。 「データ」シートが非表示の場合、Excelシート内で使用可能な再表示オプションを使用して表示することはできません。

ArrowRightClickSheetTab

「データシート」ボタンを使用して非表示にしたシートは、VBE(Visual Basic Editor)のプロジェクトエクスプローラーに表示されたままで、非表示のシートのシートプロパティはxlSheetVeryHiddenに設定されます。

ArrowHiddenSheetPropertyInVBE

シートは、VBAコードを使用せずに非常に非表示にすることもできます。そのためには、VBEを開き、プロパティウィンドウでシートの表示プロパティを2 –xlSheetVeryHiddenに設定する必要があります。

ArrowPropertiesWindow

シートを非表示にして、Vbプロジェクトのパスワードを知らずに誰もファイルを再表示できないようにするには、VBAコードを使用してファイルを非表示にするか、シートの表示プロパティを2(xlsheetveryhidden)に変更し、パスワードとともにVbプロジェクトをロックします。

パスワードでVbプロジェクトを保護するには、MicrosoftExcelオブジェクトを右クリック> [VBAプロジェクトプロパティの選択…​]> [VBAプロジェクトプロパティ]ダイアログボックスが表示されます。

ArrowAssigningPassword

[VBAプロジェクトのプロパティ]ダイアログボックスで、[保護]タブに移動し、プロジェクトをロックするためのチェックボックスをオンにして、プロジェクトのパスワードを割り当てます。

添付ファイルに割り当てるパスワードは「登録」です。プロジェクトには任意のパスワードを割り当てることができます。

ArrowSavingVBAPassword

「データシート」ボタンは、シートの非表示と非表示の両方に使用されます。

「データシート」ボタンには「ToggleHidingDataSheet」マクロが割り当てられています。ユーザーがボタンをクリックすると、ファイルが非表示になっている場合はシートが表示され、シートが表示されている場合はシートが非表示になります。

シートを表示するには、[データシート]ボタンをクリックするか、表示プロパティを0に戻します。つまり、VBProjectのパスワードを使用してxlSheetNormalに戻します。

コードについては以下に従ってください

Sub SubmittingDetail()

Dim LastRow As Long

'Finding the Last row in the "Data" sheet

'where data needs to be inserted

LastRow = Sheets("Data").Range("A1").SpecialCells(xlLastCell).Row + 1

'Inserting data in "Data" sheet

With Sheets("Data")

'Assigning serial number

.Range("A" & LastRow) = LastRow - 1

'Inserting data in "Data" sheet from range F15 to J15

.Range("B" & LastRow & ":F" & LastRow) = Range("F15:J15").Value

End With

'Deleting the cell content in the range

Range("F15:J15").Select

Selection.ClearContents

Range("F15").Select

End Sub

Sub ToggleHidingDataSheet()

'Checking whether sheet is currently hidden

If Sheets("Data").Visible = xlVeryHidden Then

'Code for making the sheet visible

Sheets("Data").Visible = True

Else

'Code for hiding the sheet

Sheets("Data").Visible = xlVeryHidden

End If

End Sub

このブログが気に入ったら、FacebookやFacebookで友達と共有してください。

皆様からのご意見をお待ちしております。私たちの仕事を改善し、あなたのために改善する方法をお知らせください。 [email protected]までご連絡ください