参照するセルを”G34”から”S31”に変更したところエラーは出ませんが、良く作動しません。何処を変えたら良いか教えて下さい。次のコードを頂いて使ってます。
※このコードは変更前のコードです。(変更後は”G34”を”G31"にする予定です。)
Private Sub Worksheet_Change(ByVal Target As Range)
Dim myRng As Range
Set myRng = Range("G35:G39")
If Intersect(Target, Range("G34", myRng)) Is Nothing Then Exit Sub
Application.EnableEvents = False
If Target.Address(0, 0) = "G34" Then
Range("G40").Value = Range("G34") - Application.Sum(myRng)
Call Val_Offset(Range("G40"), myRng)
GoTo Ext
End If
On Error GoTo DelEr
Call Val_Offset(Target, myRng)
Range("G40").Value = Range("G34") - Application.Sum(myRng)
Call Val_Offset(Range("G40"), myRng)
If Target(1).Value = "" Then Target.Offset(, 4) = 0
Ext:
Application.EnableEvents = True
Exit Sub
DelEr:
If Range("G40") = "" Then
Range("G39,M39") = ""
Range("G39:I39").Merge
Range("G40:I40").Merge
Range("G40:I40").Borders.LineStyle = True
Range("G40").Value = Range("G34") - Application.Sum(myRng)
End If
If Range("G34") = "" Then
Range("M35:M40") = 0
End If
GoTo Ext
End Sub
Sub Val_Offset(Target As Range, myRng As Range)
With Target
If .Value < 10000 Or Not IsNumeric(.Value) Then
.Offset(, 4).Value = 0
Else
.Offset(, 4).Value = "このセルに指定数字を入力"
If Target.Address(0, 0) <> "G40" Then .Offset(, 4).Select
End If
End With
End Sub
No.2ベストアンサー
- 回答日時:
こんにちは、
>参照するセルを”G34”から”S31”に変更したところエラーは出ませんが、良く作動しません。
どのような結果になるのかわかりませんが、G34への参照をS31に変えるだけなら、
Range("G34")は、Offsetなど相対的な使用をしていないので、
G34 とある6か所をS31に変えれば良さそうです
1カ所「S」に変えるのを見落とし焦ってしまいました。面目ありません。おかげ様で、日常使っている面倒だった作業シートが思い通りに作動するようになりました。何回もご教授いただき大変有り難う御座いました。
No.1
- 回答日時:
>参照するセルを”G34”から”S31”に変更したところ
>(変更後は”G34”を”G31"にする予定です。)
どちらが正しいのかわかりませんけど、
>良く作動しません。
ではどこに絞ればよいのか?が不明です。
少なくとも検証して『実際はこう動いて欲しいのにこのような動きになった』と言うのが欲しかったですね。
まぁその辺はコード作成者であれば検証は容易でしょうけど、質問文としてはそういう情報が必要かなって。
過去の質問も非公開なので探す手間を考えると作成者任せになるでしょうけど。
⇒つながる質問のリンクを貼っておいてくれても良かったかも。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) [Excel VBA] このコードでは行の挿入や行の消去をすると13のエラーが出てしまう。 3 2022/12/09 00:29
- Visual Basic(VBA) excel2021で実行できないマクロ。どこを直したらいいのか 2 2022/03/28 03:40
- Excel(エクセル) VBAについて 3 2022/06/19 18:19
- Visual Basic(VBA) VBAが止まります。 3 2022/08/31 14:09
- Visual Basic(VBA) ExcelのVBAコードについて教えてください。 2 2022/05/26 17:19
- Visual Basic(VBA) エクセルのVBAでダブルクリックでチェックを入れたあと 1 2022/10/26 20:30
- Visual Basic(VBA) 【追加】ファイルを閉じてダイアログで保存した時だけ処理の実行をする 3 2022/03/23 15:43
- Visual Basic(VBA) VBAでoutlook365が起動しません。 4 2022/08/25 13:31
- Visual Basic(VBA) 【再々投稿】VBAのプログラムで動作しなくて困っています 8 2022/10/14 09:06
- Visual Basic(VBA) オブジェクトが見つかりません 1 2023/06/24 19:43
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Excel UserForm の表示位置
-
エクセルVBA 配列からセルに「...
-
VBAマクロ実行時エラーの修正に...
-
エクセルの合計を自動で表示さ...
-
EXCEL VBA 文中の書式ごと複写...
-
VBA 複数条件の分岐処理の上手...
-
マクロの実行時エラー'1004'が...
-
入力規則のリスト選択
-
VBA にて、条件付き書式で背景...
-
Excelで空白セル直前のセルデー...
-
【VBA】【ユーザーフォーム_Lis...
-
昨日、質問した件『VBA にて、...
-
ユーザフォームを使ってのデー...
-
VB.netでのExcelデータの読み込み
-
Excel VBAでCheckboxの名前を変...
-
【VBA】写真の貼り付けコードが...
-
VBA:日付を配列に入れ別セルに...
-
グラフの参照元を相対参照で記...
-
VBAでユーザーフォームにセル値...
-
【Excel VBA】一番右端セルまで...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VBAマクロ実行時エラーの修正に...
-
エクセルVBA 配列からセルに「...
-
VBA 複数条件の分岐処理の上手...
-
Excelで空白セル直前のセルデー...
-
Excel UserForm の表示位置
-
EXCEL VBA 文中の書式ごと複写...
-
特定の色のついたセルを削除
-
VBA にて、条件付き書式で背景...
-
VBAでユーザーフォームにセル値...
-
【VBA】写真の貼り付けコードが...
-
【Excel VBA】一番右端セルまで...
-
Excel VBAでCheckboxの名前を変...
-
エクセルの合計を自動で表示さ...
-
【VBA】【ユーザーフォーム_Lis...
-
VBA:日付を配列に入れ別セルに...
-
Excel VBA IF文がうまく動作し...
-
下記のマクロの説明(意味)を...
-
入力規則のリスト選択
-
C# DataGridViewで複数選択した...
-
関数の引数でrangeを指定したとき
おすすめ情報