VBA
Excel VBAでユーザーフォームを使ったアンケート入力フォームを作成しましたが、「確定」という名称のコマンドボタンをクリック実行時に別のExcelブック内の各セルにオプションボタンのキャプション(値)とテキストボックスの内容を反映(転記)させて、上書き保存させていく記述内容についてご教示頂けませんでしょうか。
具体的には、問(1)の回答は、別ブックのセルC5に反映させ、
問(2)の回答は、D5に反映、
問(3)の回答は、E5に反映、
問(4)の回答は、F5に反映、
問(5)の回答は、G5に反映、
問(6)の回答は、H5に反映、
その他のテキストは、I5に反映させる
といった動作にさせるため、下記の内容で「標準モジュール」の構文と「フォーム」の構文を記述してみたのですが、このとおりどうさせるための具体的な構文が思い当たりません。
環境はExcel 2013です。どうにもならず困っているため、どうか宜しくお願い致します。
~標準モジュールの構文~
'ユーザーフォームに入力された転記先Book(アンケート回答結果.xlsx)の有無を確認
'及び転記先Book(アンケート回答結果.xlsxを開く事が可能な状況かどうかの確認
Sub Confirm_posting_place( _
ByVal myInformation As String, _
ByRef PostingOK As Boolean, _
ByRef StoragePath As String, _
ByRef PostFileName As String, _
ByRef PostSheetName As String)
Dim buf As Variant
StoragePath = "U:\Director" '転記先Bookファイルが存在するフォルダーのパス
PostFileName = "アンケート回答結果.xlsx" '転記先Bookのファイル名
PostSheetName = "Sheet1" '転記先Bookのファイル上のワークシート名
buf = ""
On Error Resume Next
buf = Windows(PostFileName).Caption
On Error GoTo 0
If buf = PostFileName Then
PostingOK = Windows(PostFileName).Parent.Path = StoragePath
Else
PostingOK = True
End If
If Dir(StoragePath, vbDirectory) = "" Then
PostingOK = False
MsgBox "「アンケート回答入力フォーム」の投書内容の保存先のファイルがあるフォルダーとして" _
& "設定されているフォルダが見当たらないため、" & myInformation _
& vbCrLf & vbCrLf & "「アンケート回答入力フォーム」を利用される方は、このトラブル内容を" _
& "「アンケート回答入力フォーム」の開発者へ報告して対応してもらうようにして下さい。" _
, vbExclamation, "《トラブル報告》保存先ファイル不明"
ElseIf Dir(StoragePath & "\" & PostFileName) = "" Then
PostingOK = False
MsgBox "「アンケート回答入力フォーム」の投書内容の保存先のファイルとして設定されている" _
& vbCrLf & vbCrLf & PostFileName & vbCrLf & vbCrLf & _
"が所定のフォルダー内には見当たらないため、" & myInformation _
& vbCrLf & vbCrLf & "「アンケート回答入力フォーム」を利用される方は、このトラブル内容を" _
& "「アンケート回答入力フォーム」の開発者へ報告して対応してもらうようにして下さい。" _
, vbExclamation, "《トラブル報告》保存先フォルダー不明"
Else
buf = Chr(0)
On Error Resume Next
buf = ExecuteExcel4Macro("'" & StoragePath _
& "\[" & PostFileName & "]" & PostSheetName & "'!R65536C256")
On Error GoTo 0
If buf = Chr(0) Then
PostingOK = False
MsgBox "「アンケート回答入力フォーム」の投書内容の保存先として設定されている" _
& vbCrLf & vbCrLf & PostFileName & vbCrLf & vbCrLf & _
"というExcelBookの中には、投書内容の転記先として設定されている" _
& vbCrLf & vbCrLf & PostSheetName & vbCrLf & vbCrLf & _
"というシート名のシートが見当たらないため、" & myInformation _
& vbCrLf & vbCrLf & "「アンケート回答入力フォーム」を利用される方は、このトラブル内容を" _
& "「アンケート回答入力フォーム」の開発者へ報告して対応してもらうようにして下さい。" _
, vbExclamation, "《トラブル報告》保存先シート不明"
ElseIf Not PostingOK Then
Windows(PostFileName).Activate
MsgBox "「アンケート回答入力フォーム」の投書内容の保存先のExcel Bookとして設定されている" _
& vbCrLf & vbCrLf & PostFileName & vbCrLf & vbCrLf & _
"と同名の別Book(保存先フォルダが異なるBook)が開いているため、 " _
& myInformation & vbCrLf & vbCrLf _
& "「アンケート回答入力フォーム」を利用される場合には、現在開かれている" & vbCrLf & vbCrLf _
& Left(PostFileName, InStrRev(PostFileName, ".") - 1) & vbCrLf & vbCrLf & _
"というWindowのExcel Bookを閉じても問題がないか否かを確認し、" _
& "特に問題がない場合には、そのWindowのExcel Bookを閉じてから、" _
& "このフォームを開き直して下さい。" _
, vbExclamation, "保存先ファイルへのアクセス不能"
End If
End If
End Sub
~フォームの構文~
の内容については、文字数制限で収まりきれないため、この後すぐ私のユーザー名で新規質問の方で続きを書き込みいたしますので、そちらをご覧ください。
お礼
ありがとうございます。