[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『MsgBoxの』(謙児)
お世話になります。
質問です。よろしくお願いいたします。
1つ目は、フォームコントロールで作成しましたボタン"転記"を押しますと、
下記コード「請求月は、当月締め日になっていますか?」が出まして
はい、を押しますと次のコード「請求書の支払合計が未入力です」と
出ます。入力が終わりますと次のコードに進む方法を教えて頂けますか?
(現状は、入力が終わると"転記"ボタンを押せば、当然ですが、最初から
コードが走る為に「請求月は、当月締め日になっていますか?」と出ます。
入力する人は、また同じ文言が出ている、また、はいと押さなければなら
ないとわずらしさを感じるためです。)
If Sheets("請求書入力").Range("c5") <> "" Then
If MsgBox("請求月は、当月締め日になっていますか?", vbYesNo) = vbNo Then Exit Sub End If End If
If Sheets("請求書入力").Range("c6") = "" Then MsgBox "請求書の支払合計が未入力です" & Chr(13) & "確認して下 さい" Exit Sub End If
If Sheets("請求書入力").Range("b10") = "" Then MsgBox "勘定科目等が未入力です" & Chr(13) & "確認して下さい" Exit Sub End If 後、xxが未入力と続きますが。
以上ですが、ご教授のほどよろしくお願いいたします。
なお、見出し:MsgBoxの になっていますが最初MsgBox とニックネーム
を入れましたが、更新されず 何故と思いながら見出しが足らないのかなあ
と思ってMsgBoxの件と入れようとMsgBoxの と入れたところでいきなり
更新されましたので、MsgBoxの 迄か入っていなくてすみませんでした。
< 使用 Excel:Excel2013、使用 OS:Windows8 >
If Sheets("請求書入力").Range("d6") <> o Then
MsgBox "支払金額と各勘定科目の金額に差額が出ています" & Chr(13) & "確認して下さい" Exit Sub End If
質問は、請求書入力 の伝票を印刷時、d6の差額表示を印刷時に非表示にする方法を
教えて頂けますか?
(謙児) 2020/07/15(水) 06:44
すべての条件処理を未入力又は入力間違いにできませんか?
(サンダー) 2020/07/15(水) 07:35
ステップ実行については↓で説明済のため割愛。 [[20200706182510]] 『データのみの転記』(謙治)
■2
部分的にしか示されていないので違うのかもしれませんが、↓みたいなことがやりたいのだとして、★部分について、1回チェックしてもらったらもう変えないから、チェックをスキップさせたいということでしょうか?
「転記」ボタンを押したら もしも、(請求月があっているか確認させて)OKなら ★
[項目:支払合計]が空欄かチェック [項目:勘定科目等]が空欄かチェック ・ ・ [項目:○○]が空欄かチェック
もしも、空欄の項目が1つでもあれば 空欄になっている項目を提示してプログラム終了 そうでなければ 転記処理を実行して 次の入力のために各項目をクリア もしもの話はおしまい もしもの話はおしまい 「転記」ボタンを押した時の処理はここまで
■3
>d6の差額表示を印刷時に非表示
どうやって印刷しているのかわかりませんが、マクロで印刷までしてるなら、印刷するときだけフォント色を白にしたらどうですか?
(もこな2) 2020/07/15(水) 07:49
(謙治) 2020/07/15(水) 09:13
もこな2様
ご解答を有難うございます。
■1、承知いたしました。
■2、>↓みたいなことがやりたいのだとして、★部分について、1回チェッ
クしてもらったらもう変えないから、チェックをスキップさせたいと
いうことでしょうか?
はい、その通りです。
>もしも、空欄の項目が1つでもあれば
>空欄になっている項目を提示してプログラム終了
その通りです。日付の確認時、間違いなかったら次のスッテプに行き、
空欄があれば入力します。そして以降のステップで空欄がなければ他の
シートに転記がされるようにして頂きたいのです。
よろしくお願いいたします。
(謙児) 2020/07/15(水) 17:23
請求月確認フラグ ←★モジュールレベル変数
「転記」ボタンを押したら もしも、「請求月確認フラグ」が偽だったら もしも、(請求月があっているか確認させて)OKなら 「請求月確認フラグ」を真に変更 そうじゃなければ 注意メッセージを表示して プログラム終了 もしもの話はおしまい もしもの話はおしまい
[項目:支払合計]が空欄かチェック →空欄だったらその項目を覚えておく [項目:勘定科目等]が空欄かチェック →空欄だったらその項目を覚えておく ・ ・ [項目:○○]が空欄かチェック →空欄だったらその項目を覚えておく
もしも、覚えた項目があれば(=空欄項目あり) 空欄になっている項目を提示してプログラム終了 そうでなければ 転記処理を実行して 次の入力のために各項目をクリア もしもの話はおしまい
「転記」ボタンを押した時の処理はここまで
【モジュールレベル変数とは】
http://officetanaka.net/excel/vba/variable/05.htm
【研究用コード】
Option Explicit Dim ふらぐ As Boolean
Sub ボタン1_Click() If ふらぐ = False Then MsgBox "初回です" ふらぐ = True Else MsgBox "初回じゃないです" End If
End Sub
また、静的変数にしてもいいかもですね。
http://officetanaka.net/excel/vba/variable/10.htm
(もこな2 ) 2020/07/15(水) 18:42
モジュールレベル変数及び静的変数のサイトを読みました。
サイトを読んでいる時は、なんとか、なんとかは、違うモジュールに対しても
使用できる、又は使用出来ない等、言っていることが少しわかるのですが、
そのなかの色々なコードがわからないし並べ方がわかりません。
MsgBox の動きもこうこうなっているんだと少し理解が出来ますが、
各コードの意味が、知識がない為に、プロシージャをまねしてラーンすると
出来るのですが、自分で作る場合にはどうしてよいのかわかりません。
研究用コードにしてもラーンすると流れはわかるのですが、それを応用して
コードを勝手にあてはめて結局は、エラーが出ます。
どう直してよいかわかりません。
諦めるには嫌いですが。どうしていいのかわかりません。申し訳ありません。
(謙児) 2020/07/15(水) 21:18
現状だと、どの部分で詰まっているのかよくわからないのでアドバイスできそうなことがありません。
(もこな2) 2020/07/15(水) 22:06
Sub ボタン1_Click()
If ふらぐ = False Then MsgBox "初回です" ふらぐ = True Else MsgBox "初回じゃないです" End If End Sub
上記コード条件を基に、 MsgBox "初回じゃないです"のところに次のステップ(下記コード)をいれましたら、基に戻らず(MsgBox("請求月は、当月締め
日になっていますか?")先に進んでいくかと思いました。
If Sheets("請求書入力").Range("c6") = "" Then
MsgBox "請求書の支払合計が未入力です" & Chr(13) & "確認して下さい"
If Sheets("請求書入力").Range("c5") <> "" Then
If MsgBox("請求月は、当月締め日になっていますか?", vbYesNo) = vbNo Then
’ここでExit Subを入れて"いいえ"をクリックしましたら ’止まったままです。Exit SubをはずせばいきなりC6が未入力となり ’"いいえ"をクリックした後での修正が出来ません。
If Sheets("請求書入力").Range("c6") = "" Then MsgBox "請求書の支払合計が未入力です" & Chr(13) & "確認して下さい"
Exit Sub End If End If
False Then とか = True をどこかに入れないといけないのでしょうか?
(謙児) 2020/07/16(木) 08:04
>一旦止まって入力後に Range("c5") に戻って入力したらということでしょうか。 <> "" の意味は理解できていますか。空白の時もありますか。 >False Then とか = True をどこかに入れないといけないのでしょうか? 使用しません。 If Sheets("請求書入力").Range("c6") = "" が条件式です。 Range("c6") = ""だったらTrue、入力済だったらFalseということです。 Trueなら前に戻りFalseなら次へ進むというふうに分岐させるのです。
>フォームコントロールで作成しましたボタン"転記"を押しますと ボタンに登録したコードを提示することはできますか。 >入力が終わりますと次のコードに進む方法を教えて頂けますか? 冒頭のコード見直しているところです。 しばらく待ってください。
(KLY) 2020/07/16(木) 16:01
>Range("c5") に戻って入力したらということでしょうか。
はい。
><> "" の意味は理解できていますか。空白の時もありますか。
はい、理解できています。C5が、ブランク以外ならばという意味で記入しました。
<> "" の前のコードは、
If Sheets("請求書入力").Range("c5") = "" Then
MsgBox "請求書年月日が未入力です" & Chr(13) & "確認して下さい" Exit Sub End If として入力の確認をっています。
そして次のステップで"請求月は、当月締め日になっていますか?" と再確認をしています。
ボタンに登録したコードを提示することはできますか。 はい、下記の通りです。
Sub さんぷる壱()
Application.ScreenUpdating = False
Dim MyRNG As Range Dim i As Long Stop 'ブレークポイントの代わり
If Sheets("請求書入力").Range("C3") = "" Then MsgBox "担当名が未入力です" & Chr(13) & "確認して下さい" Exit Sub End If
If Sheets("請求書入力").Range("C4") = "" Then MsgBox "支払先名が未入力です" & Chr(13) & "確認して下さい" Exit Sub End If
If Sheets("請求書入力").Range("c5") = "" Then MsgBox "請求書年月日が未入力です" & Chr(13) & "確認して下さい" Exit Sub End If
If Sheets("請求書入力").Range("c5") <> "" Then If MsgBox("請求月は、当月締め日になっていますか?", vbYesNo) = vbNo Then Exit Sub End If End If
If Sheets("請求書入力").Range("c6") = "" Then MsgBox "請求書の支払合計が未入力です" & Chr(13) & "確認して下さい" Exit Sub End If
If Sheets("請求書入力").Range("d6") <> o Then MsgBox "支払金額と各勘定科目の金額に差額が出ています" & Chr(13) & "確認して下さい" Exit Sub End If
If Sheets("請求書入力").Range("b10") = "" Then MsgBox "勘定科目等が未入力です" & Chr(13) & "確認して下さい" Exit Sub End If
If Sheets("請求書入力").Range("b13") = "" Then MsgBox "税込み金額が未入力です" & Chr(13) & "確認して下さい" Exit Sub End If
If Sheets("請求書入力").Range("b14") = "" Then MsgBox "?@の支払明細が未入力です。他の支払い明細の、漏れはないですか?" & Chr(13) & "確認して下さい" Exit Sub End If
With Worksheets("請求書入力").Range("A37:Y42") For i = 1 To .Rows.Count If .Cells(i, 1).Value <> "" Then If MyRNG Is Nothing Then Set MyRNG = .Rows(i) Else Set MyRNG = Union(MyRNG, .Rows(i)) End If End If Next i End With
If Not MyRNG Is Nothing Then MyRNG.Copy Sheets("弥生会計へ転記").Range("a1000").End(xlUp).Offset(1). _ PasteSpecial Paste:=xlPasteValuesAndNumberFormats, _ Operation:=xlNone, _ SkipBlanks:=False, _ Transpose:=False
Application.CutCopyMode = False
End If
'支払別への転記
With Worksheets("請求書入力").Range("A37:aa42") For i = 1 To .Rows.Count If .Cells(i, 1).Value <> "" Then If MyRNG Is Nothing Then Set MyRNG = .Rows(i) Else Set MyRNG = Union(MyRNG, .Rows(i)) End If End If Next i End With
If Not MyRNG Is Nothing Then MyRNG.Copy Sheets("支払別").Range("a1000").End(xlUp).Offset(1). _ PasteSpecial Paste:=xlPasteValuesAndNumberFormats, _ Operation:=xlNone, _ SkipBlanks:=False, _ Transpose:=False
Application.CutCopyMode = False
End If
Sheets("請求書入力").Activate Sheets("請求書入力").Range("c2").Select
Application.ScreenUpdating = True
End Sub
よろしくお願いします。
(謙治) 2020/07/16(木) 17:11
If Range("c5") <> "" Then If MsgBox("請求月は、当月締め日になっていますか?", vbYesNo) = vbNo Then Range("c5").Select Exit Sub Else Range("c6").Select End If End If
差し替えてください。 コード提示は、<> "" の前のコードはどうなっているか知りたいためでした。 (KLY) 2020/07/16(木) 23:15
私の伝え方が悪いのかもしれません。
コードを入れ替えましたが、
1、C5で("請求月は、当月締め日になっていますか?")とのメッセージが
出て、ここで、はいをクリックすれば、次のステップC6に行きます。
しかしC6がブランクであれば、 MsgBox "請求書の支払合計が未入力で
す" & Chr(13) & "確認して下さい"と出ましたので入力しました。
その状態のままで転記先に行きません。ボタン転記をクリックすれば
MsgBox("請求月は、当月締め日になっていますか?")と再度出ます。
希望は、C6に入力後、次のステップ以降に未入力があれば入力後、
転記先に行くようにしたいのです。
2、C5で("請求月は、当月締め日になっていますか?")とのメッセージが
出て、違う場合ここで、いいえ をクリックして修正します。
でもそのままの状態で転記先に行きません。
ボタン転記をクリックすれば、MsgBox("請求月は、当月締め日になって
いますか?"と再度出ます。
希望は、C5に入力後、次のステップ以降に未入力があれば入力後、
転記先に行くようにしたいのです。
よろしくお願いいたします。
(謙児) 2020/07/17(金) 00:24
条件が <> "" となっているので再度出てもおかしくはありません。
(KLY) 2020/07/17(金) 11:55
ユーザーフォームというのを知っていますか。
聞いたことは、ありますが、使ったことは、ありません。
こういう入力には大変便利ですよ。一括で入力できますから。
それならお願いします。
条件が <> "" となっているので再度出てもおかしくはありません。
はい。わかりました。
よろしくお願いします。
(謙治) 2020/07/17(金) 12:37
出来ましたので確認よろしく
標準モジュールを追加して貼り付けてください。 既存のボタンにこれを登録変更してください。マクロ名はセル移動。 空白時と入力後の動きをコマンドボタンを押して確認してください。 Range("D6") <> o のところでエラーになります。設定がおかしいです。 実行確認時には ="" にして確認してください。 よければ差し替えお願いします。
最初に"請求書入力"とシート名を指定しておけば何度も記述する必要ありません。 Range("C5") に出てくるMsgBoxの使用法についても理解してください。
Sub セル移動()
Sheets("請求書入力").Select
Range("C3").Select
If Range("C3") = "" Then MsgBox ("担当名が未入力です" & Chr(13) & "確認して下さい") Exit Sub End If
Range("C4").Select
If Range("C4") = "" Then MsgBox "支払先名が未入力です" & Chr(13) & "確認して下さい" Exit Sub End If
Range("C5").Select
If Range("C5") = "" Then MsgBox "請求書年月日が未入力です" & Chr(13) & "確認して下さい" Exit Sub End If
Dim 確認
If Range("C5") <> "" Then 確認 = MsgBox("請求月は、当月締め日になっていますか?", vbYesNo) If 確認 = vbYes Then Range("C6").Select Else Exit Sub End If End If
If Range("C6") = "" Then MsgBox "請求書の支払合計が未入力です" & Chr(13) & "確認して下さい" Exit Sub End If
Range("D6").Select
If Range("D6") <> o Then 'ここでエラーが出る設定見直し MsgBox "支払金額と各勘定科目の金額に差額が出ています" & Chr(13) & "確認して下さい" Exit Sub End If
Range("B10").Select
If Range("B10") = "" Then MsgBox "勘定科目等が未入力です" & Chr(13) & "確認して下さい" Exit Sub End If
Range("B13").Select
If Range("B13") = "" Then MsgBox "税込み金額が未入力です" & Chr(13) & "確認して下さい" Exit Sub End If
Range("B14").Select
If Range("B14") = "" Then MsgBox "?@の支払明細が未入力です。他の支払い明細の、漏れはないですか?" & Chr(13) & "確認して下さい" Exit Sub End If
End Sub
ここに出で来るセルの項目名を教えてください。 ユーザーフォームで使用します。 (KLY) 2020/07/17(金) 17:11
移動に2時間ばかりかかりますので、申し訳ありませんが、
しばらくお待ちください。
(謙治) 2020/07/17(金) 18:10
>標準モジュールを追加して貼り付けてください。
>既存のボタンにこれを登録変更してください。マクロ名はセル移動。
一旦、VBA挿入で標準モジュールに貼りつけましたが、既存ボタンにこれを登録変更とありましたので
わからなくなったので既存のコードを下記のようにコードを入れ替えました。
しかし他のシートに貼り付けするコードは、残しました。
>空白時と入力後の動きをコマンドボタンを押して確認してください。
F8(コマンドボタン?)を押しましたら
With Worksheets("請求書入力").Range("A37:Y42")で止まり
コンパイルエラーが出まして「endsub.end function 又はend property以降にはコメントのみが記述
できます。」となっています。私のどこが間違っているのでしょうか?
Sub セル移動()
Application.ScreenUpdating = False
Dim MyRNG As Range Dim i As Long Sheets("請求書入力").Select Range("C3").Select
If Range("C3") = "" Then MsgBox ("担当名が未入力です" & Chr(13) & "確認して下さい") Exit Sub End If
Range("C4").Select
If Range("C4") = "" Then MsgBox "支払先名が未入力です" & Chr(13) & "確認して下さい" Exit Sub End If
Range("C5").Select
If Range("C5") = "" Then MsgBox "請求書年月日が未入力です" & Chr(13) & "確認して下さい" Exit Sub End If
Dim 確認
If Range("C5") <> "" Then 確認 = MsgBox("請求月は、当月締め日になっていますか?", vbYesNo) If 確認 = vbYes Then Range("C6").Select Else Exit Sub End If End If
If Range("C6") = "" Then MsgBox "請求書の支払合計が未入力です" & Chr(13) & "確認して下さい" Exit Sub End If
Range("D6").Select
If Range("D6") <> o Then 'ここでエラーが出る設定見直し MsgBox "支払金額と各勘定科目の金額に差額が出ています" & Chr(13) & "確認して下さい" Exit Sub End If
Range("B10").Select
If Range("B10") = "" Then MsgBox "勘定科目等が未入力です" & Chr(13) & "確認して下さい" Exit Sub End If
Range("B13").Select
If Range("B13") = "" Then MsgBox "税込み金額が未入力です" & Chr(13) & "確認して下さい" Exit Sub End If
Range("B14").Select
If Range("B14") = "" Then MsgBox "?@の支払明細が未入力です。他の支払い明細の、漏れはないで すか?" & Chr(13) & "確認して下さい" Exit Sub End If
End Sub
With Worksheets("請求書入力").Range("A37:Y42") For i = 1 To .Rows.Count If .Cells(i, 1).Value <> "" Then If MyRNG Is Nothing Then Set MyRNG = .Rows(i) Else Set MyRNG = Union(MyRNG, .Rows(i)) End If End If Next i End With
If Not MyRNG Is Nothing Then MyRNG.Copy Sheets("弥生会計へ転記").Range("a1000").End(xlUp).Offset(1). _ PasteSpecial Paste:=xlPasteValuesAndNumberFormats, _ Operation:=xlNone, _ SkipBlanks:=False, _ Transpose:=False
Application.CutCopyMode = False
End If
'支払別への転記
With Worksheets("請求書入力").Range("A37:aa42") For i = 1 To .Rows.Count If .Cells(i, 1).Value <> "" Then If MyRNG Is Nothing Then Set MyRNG = .Rows(i) Else Set MyRNG = Union(MyRNG, .Rows(i)) End If End If Next i End With
If Not MyRNG Is Nothing Then MyRNG.Copy Sheets("支払別").Range("a1000").End(xlUp).Offset(1). _ PasteSpecial Paste:=xlPasteValuesAndNumberFormats, _ Operation:=xlNone, _ SkipBlanks:=False, _ Transpose:=False
Application.CutCopyMode = False
End If
Sheets("請求書入力").Activate Sheets("請求書入力").Range("c2").Select
Application.ScreenUpdating = True
End Sub
(謙児) 2020/07/17(金) 22:01
今、確認をしましたらKLY様の貼り付けの最後が End Subでした。
その次にシートの転記元 With Worksheets("請求書入力").Range("A37:Y42")の
コードを残したままだったので「End Sub」がエラーになっていました。
今、外しました。
(謙児) 2020/07/18(土) 01:05
そこで改めてボタンを押しますと「さんぷる壱を実行できません」とエラー
メッセージが出ます。
ボタンのところで右クリックをしてマクロ登録を押しますとさんぷる壱は、新
規作成になります
そこで他の項目の中で sheet 1セル移動をクリックすると編集になりF8ボ
タンで一つ一つ押そうとしましたら Range("C3").Selectに来るとthis work
sheet のコードに行きます。??
ボタンのマクロ名をコードの中で セル移動と替えているのに 何故、さんぷ
る壱を実行できません と
出るのでしょうか?
思えば、KLY様がセル移動の貼り付けと言われた時に最初 標準モジュール
に貼りつけました。
(当初の転記元から転記先へのコードは、入れていません)
しかし ボタンの中を入替えといわれたので ボタンのマクロ名を「さんぷる
壱」から「セル移動」に
替えました。(ここでは、転記元から転記先へのコードは、入れています。)
最初、標準モジュールに貼ったコードが邪魔をしているのでしょうか?
標準モジュールに貼ったコードを削除しようと思っていますが、そのコードを
よう見つけることが出来ません。
お手数おかけして申し訳ございませんがよろしくお願いいたします。
Sub セル移動()
Application.ScreenUpdating = False Dim MyRNG As Range Dim i As Long Sheets("請求書入力").Select Range("C3").Select
(謙児) 2020/07/18(土) 01:47
説明がうまく伝わらなかったみたいですね。すみません。 確認させてください。 >VBA挿入で標準モジュールに貼りつけましたが 標準モジュールにModuleはいくつありその番号はどうなっていますか。 この返事が来たら マクロ登録変更不具合については別途連絡します。 (KLY) 2020/07/18(土) 09:51
お手間を取らさないように自分では、
頑張っているのですが、ご迷惑をおかけして
申し訳なく思っています。
(謙治) 2020/07/18(土) 14:21
(謙治) 2020/07/18(土) 14:26
こんにちは ^^ Alt + F11 で vbaエディター[VBE]が現れます。 左端に3対7くらいの割合で画面が分割されて、左の上端に プロジェクトとか表示されたものは有りますでしょうか。 https://excel-ubara.com/excelvba1/EXCELVBA304.html こちらが参考になるかもしれません。m(_ _)m (隠居じーさん) 2020/07/18(土) 14:36
↑は参考になったことでしょうか。 >>標準モジュールを追加して貼り付けてください。 その中で「標準モジュールの挿入」の欄がありますよね。 このことだったんです。 追加したとしたら「Module1」「Module2」になっているはずです。 >プロジェクトとか表示されたものは有りますでしょうか。 インターネットエクスプローラー風になっています。
理解できたらマクロ登録変更不具合については別途連絡します。 (KLY) 2020/07/18(土) 17:32
>Alt + F11 で vbaエディター[VBE]が現れます。
>左の上端にプロジェクトとか表示されたものは有りますでしょうか。
はい、あります。
KLY様にも下記を参照してください。
プロジェクト-VBAProject ×
その下に3つのアイコンがあり左からコードの表示、オブジェクトの表示、フォルダーの切り替え
その下にVBAProject
その下にclass1
その下にModule1から5迄
その下にSheet1、142,3,5,6,9迄
最後にThisWorkbook
となっています。
>Alt + F11 で vbaエディター[VBE]が現れます。
これ便利ですね。https//も読みました。有難うございます。
最初、私は標準モジュールを出す際、開発をクリック、左端のVisual Basicをクリックしたのですが、
上記Alt + F11を押したようなわかりやすい並びではなく、左端が2列分沢山下に
表示され標準モジュールの表示がありませんでした。そこでネットで調べましたらVisual Basic を
クリックして挿入を押して標準モジュールが表示されていますと記載されていましたのでそのように
しました。
「Module1」から5迄表示されていますがダブルクリックをしてコードが表示されて
いるのはModule5だけです。(各シートへ行くコードです。)
KLY様へ
>理解できたらマクロ登録変更不具合については別途連絡します。
理解出来ました。
よろしくお願いいたします。
(謙治) 2020/07/18(土) 19:17
>上記Alt + F11を押したようなわかりやすい並びではなく、左端が2列分沢山下に
>表示され標準モジュールの表示がありませんでした
これは自宅で行ったものです。
ですから会社で行った時には、上記Alt + F11を押したようなわかりやすい並びでしたから 今、自宅に
もどりAlt + F11をしたらうまく行くと思ったのですが、やはり標準モジュールの表示がでません。
表示は、
VBAの左端にクラスの列 、その右側にグローバルのメンバーが どちらもabc順にzまで
出ています。
下記のような並びにどうすればなるのでしょか?
VBAProject
その下にclass1
その下にModule1から5迄
その下にSheet1、142,3,5,6,9迄
最後にThisWorkbook
(謙児) 2020/07/18(土) 21:50
こんばんは ^^ 横入りすみません。 一番左に 四角でかこまれた、十字、みたいなの、有りましたら。。。 それをクリックすれば、出てくるかもしれません。 もし、なにもなければ、上の段のメニューに【挿入】があります ので、そこから標準モジュールを新規に作成しても、全ての標準モジュール が現れると思います。。。← 多分 ^^;。。。。m(_ _)m...でわ (隠居じーさん) 2020/07/18(土) 22:03
追伸 失礼いたしました。 フォルダアイコン【フォルダの切替】が出ていれば、それ、をクリックしても 並びが、変わるかと。。。思いますです。外していましたら、お許しを。m(_ _)m (隠居じーさん) 2020/07/18(土) 22:08
こんばんは ^^ 私も勘違いをしているかもしれません。ご説明の内容ですと左側、前面に プロパティウインドウが表示されているのかもしれません。 コードを書く部分と左端のメニュー表示部分の間に✖が表示されていれば それをクリックして とりあえず 、コード記入画面のみにして、表示 メニューから、プロジェクトエクスプローラをクリックして表示させてみて下さい。 (隠居じーさん) 2020/07/18(土) 22:26
わかりました。多分 ^^;。。。ぼろぼろで、あいすみません 右端に✖が二つあるとおもいますので、下の方をクリックして消して見て下さい
↑ 3件のどれかだと ここの記述が一番怪しいかも。オブジェクトブラウザが
全面表示されているのかも (*^^*)。。。m(__)mm(__)mm(__)m
(隠居じーさん) 2020/07/18(土) 22:33
>一番左に 四角でかこまれた、十字、みたいなの、有りましたら。。。
なかったのです。
>上の段のメニューに【挿入】がありますので、そこから標準モジュールを新規に作成
ここは、私もわかるのですが、残念ながら全ての標準モジュールは現れず、新規の標準モジュールのみで
した。
>フォルダアイコン【フォルダの切替】
切り替えをしても変化はありません。
>プロパティウインドウが表示されているのかもしれません。
>コードを書く部分と左端のメニュー表示部分の間に✖が表示されていれば
>それをクリックして とりあえず 、コード記入画面のみにして、表示
>メニューから、プロジェクトエクスプローラをクリックして表示させてみて下さい。
隠居じーさん様から上記コメントを頂く前に私もVBAのアイコンをいろいろ押しながら試し
挿入の左の表示をクリックして上から順にクリックしてみるのですが、標準モジュールの表示は
見つかりません。
>メニュー表示部分の間に✖が表示されていれば
>それをクリックして とりあえず 、コード記入画面のみにして、
✖をして見ましたが、コード記入画面にならず一番左が 上から下に
クラス
グローバル
クラス1
モジュール1から11迄
シート1から9
右側は、グローバルのメンバー
リスト2,27、41、各シート名に飛ぶのが3つほど並んでいます。
今は、この状態です。
>右端に✖が二つあるとおもいますので
右端に✖が二つではなく一つだけありましたのでクリックしましたが、
このコメントのすぐ上の 今は、この状態です。と同じです。
勿論、私が違う画面で操作していると思うのです。
■いずれにしても標準モジュール作成は、挿入から選択ます。
■モジュールの件数を求めるのは、表示からプロジェクトエクスプローラをクリックして
モジュールが表示されれば、モジュールをダブルクリックしてコードが
入っているモジュールの件数をKLY様へ 報告すればいいのですね。
表示での各項目が全然理解できていませんので、やり取りが食い違っていると思います、
隠居じーさん様、申し訳ありませんでした。
(謙児) 2020/07/19(日) 07:09
(こういう事を記載してご迷惑をおかけしたくないのですが、知識がないという事は、疲れてきますね。
でも皆様に、ご親切に手を抜かず教えて頂くのは、有りがたいことです。
本来、表示の各項目をネット等で調べ勉強しなければならないと思うのですが、
仕事も忙しく自宅で考えながらする始末、早くこなしていくためにも
そこに時間をかけてしまってーーー言い訳ですね、すみません。)
(謙児) 2020/07/19(日) 07:32
おはようございます ^^ お忙しい中でのご勉学ご苦労様です。 当方が2016なので、画面表示が違うのだと思います。帰って混乱を招く様なコメントとなり ご迷惑をお掛けしているやもしれません。申し訳ありません。 左右に3:7で画面分割されていて、左に、シートなりモジュールが表示されているのでしたら それをどれか、ダブルクリックしてみて下さい。。。^^; ちなみに左側画面の右端に✖はいくつ表示されていますでしょうか?。。。でわ。m(_ _)m (隠居じーさん) 2020/07/19(日) 08:53
さて私の自宅でのPCは、エクセル2013です。古い為違いがあるのですね。
>左右に3:7で画面分割されていて、左に、シートなりモジュールが表示されているのでしたら
>それをどれか、ダブルクリックしてみて下さい。
実行しようとVBAを開けましたら分割されてなくて単にリスト2のコードのみの画面に
なっています。そこで表示のプロジェクトエクスプローラをクリックすれば、左端が
プロパティsheet1
その下が全体/項目別 右側が、SUB リスト2のコードが書かれています。
そのコードの余白部分をダブルクリックしますと左端が、モジュール8に変わりました。
左側画面の右端に✖はいくつ表示されていますでしょうか?。。。✖は一つです。
隠居じーさん様、この(VBAの表示)件につきましては、時間をおかけして申し訳
ありませんので、ストップしてください。
ふっと思ったのですが、一度会社のPCにこのファイルを転送して当初教えて頂いた標準モジュールを
出して、うまくいけば、そのファイルを自宅に転送して、そのファイルを利用して作業を進めて行こうと
思います。
本当に一生懸命になっていただき有難うございます。
(謙児) 2020/07/19(日) 09:46
おはようございます ^^ VBE、一旦STOPをご要望の件、承りました。 いじくり回していると。なぁ〜んとなく解かってくる 場合も有りますです。^^; ← 理論派のかたに叱られそぉですが( ̄▽ ̄) 大作を作成中のご様子で、ご健闘をお祈りいたします。 最後に、この左側画面の×の個数をお尋ねした理由は こちらに複数の画面が重なる場合が御座いますので。 ご注意くださいませ。でわでわ。これで私は退散させ て戴きます、。。。また現れるかもしれません。。。 (#^^#)vでわでわ。m(_ _)m (隠居じーさん) 2020/07/19(日) 10:03
>大作を作成中のご様子で、ご健闘をお祈りいたします。
有難うございます。皆様に教えて頂き前に進んでいます。
>この左側画面の×の個数をお尋ねした理由は
>こちらに複数の画面が重なる場合が御座いますので。
>ご注意くださいませ
はい、わかりました。
ここで書くことかどうかわかりませんが、コロナウイルス感染のおり
どうぞご自愛ください。
(謙児) 2020/07/19(日) 10:54
>ボタンのマクロ名をコードの中で セル移動と替えている
の意味がいまいちわかりかねます。どういう意味でしょう?
きちんと説明された方が解決が早いと思います。
〜〜〜〜〜〜〜〜〜〜〜
>皆様に、ご親切に手を抜かず教えて頂くのは、有りがたいことです。
※ 手抜きの回答と思われましたらスルーして下さい。
(チオチモリン) 2020/07/19(日) 12:13
>ボタンのマクロ名をコードの中で セル移動と替えている どういう意味?
KLY様の記載、2020/7/17(金)17:11での回答で、
>標準モジュールを追加して貼り付けてください。
>既存のボタンにこれを登録変更してください。マクロ名はセル移動。となっていますので、
私が行ったことは、既存のボタンを右クリックしてマクロ登録を開き
sub さんぷる壱()をsub セル移動()に変更して下記のコードを入力、当然前のコードは、
削除して入れ替えました。
そしてボタンを押しますと「さんぷる壱を実行できません」とエラーメッセージが出ます。
ということです。
以下、KLY様の記載です。
Sub セル移動()
Sheets("請求書入力").Select Range("C3").Select If Range("C3") = "" Then MsgBox ("担当名が未入力です" & Chr(13) & "確認して下さい") Exit Sub End If
Range("C4").Select
If Range("C4") = "" Then MsgBox "支払先名が未入力です" & Chr(13) & "確認して下さい" Exit Sub End If
Range("C5").Select
If Range("C5") = "" Then MsgBox "請求書年月日が未入力です" & Chr(13) & "確認して下さい" Exit Sub End If
Dim 確認
If Range("C5") <> "" Then 確認 = MsgBox("請求月は、当月締め日になっていますか?", vbYesNo) If 確認 = vbYes Then Range("C6").Select Else Exit Sub End If End If
If Range("C6") = "" Then MsgBox "請求書の支払合計が未入力です" & Chr(13) & "確認して下さい" Exit Sub End If
Range("D6").Select
If Range("D6") <> o Then 'ここでエラーが出る設定見直し MsgBox "支払金額と各勘定科目の金額に差額が出ています" & Chr(13) & "確認して下さい" Exit Sub End If
Range("B10").Select
If Range("B10") = "" Then MsgBox "勘定科目等が未入力です" & Chr(13) & "確認して下さい" Exit Sub End If
Range("B13").Select
If Range("B13") = "" Then MsgBox "税込み金額が未入力です" & Chr(13) & "確認して下さい" Exit Sub End If
Range("B14").Select
If Range("B14") = "" Then MsgBox "?@の支払明細が未入力です。他の支払い明細の、漏れはないですか?" & Chr(13) & "確認して 下さい" Exit Sub End If
End Sub
■>皆様に、ご親切に手を抜かず教えて頂くのは、有りがたいことです。
※ 手抜きの回答と思われましたらスルーして下さい。
自分の思いを伝えるのは、難しいですね。
私の思いは、最初から手抜きの回答をうんぬんについて言ってるのではなく、
代表して隠居じーさん様のように表示がうまく出ませんと言いましたら、このようにされては、
次にうまくいかなければこのようにされては、と色々素人の私に合わせて教えて頂きご足労をかけて
ご回答を頂くのが感謝、有難い(場合によっては、途中でxxをネットで検索してお勉強してください。
といわれても仕方ないことです。)と言っているのです。
言葉足らずで失礼な解釈になってしまいまして申し訳ございませんでした。
(謙治) 2020/07/19(日) 14:07
>以下、KLY様の記載です。 のように書かれると如何にも私のコードが悪いのではないかと受け止めざるを得ません。 隠居じーさんさんとのやりとりを拝見してあなたの理解不足には空き果てました。 (KLY) 2020/07/19(日) 16:05
それだけだとボタンに登録されたマクロは従前の「さんぷる壱」のままですから、質問のような挙動になると思います。
ボタンに登録するマクロ名を「セル移動」に変更(修正)してください。
(チオチモリン) 2020/07/19(日) 20:55
(もこな2 ) 2020/07/23(木) 12:46
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.