Excel VBA 質問スレッド №2050 (解決済)
Function内でシート名取得
投稿者 : y 投稿日時 : 2024/11/26(Tue) 17:05:38 OS : Windows 11 EXCEL : Excel 2021
Private sub内でワークシートをループしデータを配列に取り込むのですが、 Private Functionでエラーが発生した際に、ループしているワークシート名もメッセージに表示させたいのですが、可能でしょうか? Private Functionでなく、Private sub内で全てを行うように変更する必要がありますか? ==================== Private Sub Button1_Click() 'ワークシート分ループ For Each ws In wb.Worksheets ・ ・ ・ '配列に記入内容取込 arr(1) = ws.Cells(wrow, i).Value arr(2) = ret_ope(ws.Cells(wrow + 1, i).Value) arr(3) = ws.Cells(wrow + 1, i).Value Next ・ ・ ・ End Sub Private Function ret_ope(ope_name) As String Dim tmpope As String Select Case True Case ope_name Like "*(D)*" tmpope = "Discharge" Case Else MsgBox "判定エラー。処理を終了します。【" & ope_name & "】" End End Select ret_ope = tmpope End Function
スポンサーリンク
[返信 1] Re : Function内でシート名取得
投稿者 : ごんぼほり 投稿日時 : 2024/11/26(Tue) 17:35:38
これでわかりますか?
これでわかりますか?
Sub sample() ret_ope Worksheets(1).Range("A1") End Sub Private Function ret_ope(ope_name_cell As Range) As String Dim ope_name As String ope_name = ope_name_cell.Value MsgBox ope_name_cell.Parent.Name End Function
[返信 2] Re : Function内でシート名取得
投稿者 : y 投稿日時 : 2024/11/27(Wed) 11:14:06
■[返信 1] ごんぼほりさん(2024-11-26 17:35:38)の記事
ご教授ありがとうございます!
無事エラー処理できました!
■[返信 1] ごんぼほりさん(2024-11-26 17:35:38)の記事
ご教授ありがとうございます!
無事エラー処理できました!
当掲示板について
- Excel VBA に関する掲示板です。Excel VBA に関する質問や疑問、それに対する解決方法など気軽に投稿してください。
- 記事内ではHTMLのタグは使用できません。
- 記事は一度投稿すると修正できません。内容を訂正したい場合は返信で対応してください。
- Sub〜End Sub、Function〜End Function は自動的にプログラムコードとみなし、枠で囲って見やすくします。
- Excel VBA とは関係ないことや、他人が不快に思うようなことなど、管理人が適当でないと判断した記事は削除する場合があります。
スポンサーリンク
返信入力フォーム
( 処理日時 : 2024-12-07 23:08:25 )