こんにちわVBAの質問です。
よろしくお願いします。
写真のように、期間と、エリアで
データを検索し、その合計を
セルに代入すると言うのを作ったのですが
1番上の列しか、どうやってもできません
Private Sub Worksheet_Change(ByVal Target As Range)
Dim cRow As Double
Dim cRow2 As Double
Dim cRow3 As Double
Dim i As Long
Ws1 = worksheets(“下請依頼書”)
Ws2 = worksheets(“下請明細”)
If Target.Row = 1 And Target.column = 2 Then
EndRow = WorkSheets(“下請依頼書”).Range(“A1”).End(xlDown).Row
For i = 2 To endRow
If Ws1.Range(“C” & i) >= Ws2. Range(“D1”) _
And Ws1.Range(“C” & i) >= Ws2. Range(“F1”) _
Ws1. Range(“FB” & i) = Ws2. Range(“C3”).Value Then
cRow = cRow + Ws1.Cells( i , 182)
cRow2 = cRow2 + Ws1.Cells( i , 183)
cRow3 = cRow3 + Ws1.Cells( i , 184)
End If
Next i
Ws1.Range(“D3”).Value = cRow
Ws1.Range(“E3”).Value = cRow2
Ws1.Range(“F3”).Value = cRow3
End If
End Sub
この命令が、12回続きます。
コピペしたらタイトルが不正だと言われ
全く動きませんでしたww
お手上げです。。。
No.1
- 回答日時:
これ、VBエディタからコピーしてきたものじゃないですよね。
たとえば Ws1 = worksheets(“下請依頼書”) と表示されてること自体おかしいし。
Ws1 = Worksheets("下請依頼書")となるはず(Wが大文字)。
Ws1. Range(“FB” & i) = Ws2. Range(“C3”).Value Then
の行もおかしい(Ws2のあとにスペースが入っている、など)
And Ws1.Range("FB" & i) = Ws2.Range("C3").Value Then
とかでは?
Ws1 = worksheets(“下請依頼書”)
でエラーにならないのも変。
Set Ws1 = Worksheets("下請依頼書")
とかかな?
とにかく、動きがおかしくても現物のコードを見せてくれないと、ちゃんとした回答はつかないですよ。
No.2ベストアンサー
- 回答日時:
全体の流れを追った訳ではないですが、A1に値が入っていないのが原因かもしれないですね。
とりあえず
WorkSheets(“下請依頼書”).Range(“A1”).End(xlDown).Row
を
WorkSheets(“下請依頼書”).Range("A1048576").End(xlUp).Row
にしてみてください。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) エクセルVBAで教えて頂きたいのですが? 2 2022/12/31 20:28
- Excel(エクセル) VBAについて 3 2022/06/19 18:19
- Visual Basic(VBA) ExcelのVBAコードについて教えてください。 2 2022/05/26 17:19
- Visual Basic(VBA) 3つのプロシージャをまとめたら実行時エラー発生で対応不能 6 2022/05/17 01:47
- Visual Basic(VBA) excel2021で実行できないマクロ。どこを直したらいいのか 2 2022/03/28 03:40
- Visual Basic(VBA) ExcelのVBAコードについて教えてください。 4 2023/05/26 10:43
- Excel(エクセル) VBAの指示の内容 昨日こちらでご教示頂いたのですが初心者な為、一つ一つの指示が何をやっているのかわ 2 2022/10/25 18:08
- Visual Basic(VBA) VBA処理追加 こちらでご教示頂いたのですが回答完了させてしまいましたのでこちらからまた質問させてく 2 2022/10/27 09:57
- Visual Basic(VBA) excel vbaでvlooupの変数がわかりません。 7 2022/05/30 09:35
- Visual Basic(VBA) 稀に1円合いません? Sheet1から金額と個数を貼り付ける下記コードで、金額を切り上げるコードを何 3 2022/09/05 15:11
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
施越工事
-
静岡県の川勝知事のリニア工事...
-
建設会社で年度末が3月なら、現...
-
親事業者都合の月跨ぎの納期後...
-
新築工事の仮設トイレ
-
静岡県知事、辞職の意向
-
はごろもフーズはなぜ叩かれて...
-
土建屋、建設業の若いやつはな...
-
元請け業者が孫請け業者に立替...
-
なぜ、夜間に工事やるのですか...
-
水道やガス工事の後のアスファ...
-
なぜ元通りの舗装にしないのか...
-
入札参加者の下請け
-
労災保険一括有期事業確定申告...
-
公共工事における工期不履行に...
-
鉄道特異工事について
-
工事看板の表示について
-
道路 通行止めによる営業損害
-
建退共の共済番号は個人情報?
-
防火管理維持台帳に保存すべき事項
おすすめ情報
すいません。
こちらの質問は、スマホから手打ちしていて
大文字とスペースなどのミスがありました^^;
ちなみに、この命令自体は、きちんと動きます。
この命令では、最初の写真にあるように
長野エリア、期間限定、合計料金、距離、高速
だけ、取得するようになっています
その下の水戸、豊橋、盛岡、山梨、以下、全て
同じことをしたいのですが、上のプログラムを
End Sub 以下にコピペして、参照箇所を
変えても動かないので、なにか、あるのかなと思いまして、、、
上の写真のwsの前にSet つけ忘れてますが
手直し前の写真なので Setは付いてます
それと、cRow = ctrRow... は
間違いで、cRow = cRow ...です