たびたび申し訳ないです。
エクセル2003ですが、シート2のデータをシート1のA列にある日付と1行目にある製品名とで検索をかけて当てはまるセルにシート2のデータを転記する(下記記載)コードがあります。当てはまるセルがないときはシート2の対応するセルが赤く反転するエラー処理がなされています。
以前こちらで教えていただいたのですが、このコードに更に下記のようにシート1の当てはまるセルが入力済みならば上書きしますかと言う
Worksheets("Sheet1").Cells(trgR, trgC) <>""Then
If MsgBox("上書きしますか", vbQuestion + vbOKCancel) = vbOK Then
Worksheets("Sheet1").Cells(trgR, trgC) = .Cells(idxR, 3)
このようなコードをさらに付け加えたいのですが、どのようにすればいいかご教授願います。1週間いろいろやってみたのですがうまくいきません。赤く反転するエラー処理もそのまま生かしておきたいのです。長い質問で申し訳ありませんがよろしくお願いいたします。
元のコードです。
Private Sub CommandButton1_Click()
Dim LastR, idxR As Long, trgR, trgC
With Worksheets("Sheet2")
LastR = .Range("A65536").End(xlUp).Row
trgR = Application.Match(.Cells(1, 1), Worksheets("Sheet1").Range("A:A"), 0)
For idxR = LastR To 3 Step -1
trgC = Application.Match(.Cells(idxR, 1), Worksheets("Sheet1").Range("1:1"), 0)
If IsNumeric(trgR) And IsNumeric(trgC) Then
Worksheets("Sheet1").Cells(trgR, trgC) = .Cells(idxR, 3)
Else
.Cells(idxR, 1).Interior.ColorIndex = 3
End If
Next idxR
End With
End Sub
A 回答 (1件)
- 最新から表示
- 回答順に表示
No.2
- 回答日時:
そこまでできてるなら、こんな感じでそのまま追加するだけで良いと思います。
Private Sub CommandButton1_Click()
Dim LastR, idxR As Long, trgR, trgC
With Worksheets("Sheet2")
LastR = .Range("A65536").End(xlUp).Row
trgR = Application.Match(.Cells(1, 1), Worksheets("Sheet1").Range("A:A"), 0)
For idxR = LastR To 3 Step -1
trgC = Application.Match(.Cells(idxR, 1), Worksheets("Sheet1").Range("1:1"), 0)
If IsNumeric(trgR) And IsNumeric(trgC) Then
If Worksheets("Sheet1").Cells(trgR, trgC) <> "" Then
If MsgBox("上書きしますか", vbQuestion + vbOKCancel) = vbOK Then
Worksheets("Sheet1").Cells(trgR, trgC) = .Cells(idxR, 3)
End If
End If
Else
.Cells(idxR, 1).Interior.ColorIndex = 3
End If
Next idxR
End With
End Sub
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) なぜExit Subがあるのかわかりません 4 2023/02/19 12:34
- Visual Basic(VBA) 前回ご教授いただいたコードに覚えたてのループ処理で品名りんごAから順に20回for nextでループ 7 2023/01/13 22:01
- Visual Basic(VBA) VBAコードが作動せず、どこに問題があるのか教えて下さい。 3 2023/06/13 13:20
- Visual Basic(VBA) ユーザーフォーム「frm_基本❶」を立ち上げると新規で入力する行数を右下のNoとして表示しています。 1 2023/03/16 19:02
- Visual Basic(VBA) VBA Userformで一部別シートに転記がしたいのですが 2 2023/05/24 13:08
- Visual Basic(VBA) 3つのプロシージャをまとめたら実行時エラー発生で対応不能 6 2022/05/17 01:47
- Visual Basic(VBA) コード名シートA列と集計シートA列のコードが一致したら、コード名シートA5からk12の範囲をコピーし 1 2022/08/29 23:46
- Excel(エクセル) vba 転記するときの最終行について 2 2022/09/03 09:31
- Visual Basic(VBA) ExcelVBAの転記について 1 2022/03/23 20:13
- Visual Basic(VBA) まとめシートから集計シートへA列のコードが一致したら1行コピーするマクロをネット上で見つけました。こ 1 2022/08/30 14:11
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Excelの「0」だけ非表示、小数...
-
日付が未入力の際はゼロか、空...
-
エクセルで1月0日と表示される!!
-
Rangeメソッドは失敗しました。...
-
エクセルで条件に一致したセル...
-
Excelで複数シートの選択セルを...
-
(Excel)あるセルに文字を入力...
-
シート参照で変数を使いたい(EX...
-
Excelシートの保護時にデータの...
-
エクセルで複写のように自動入...
-
エクセルの文字
-
マクロ 新しいシートにデータ...
-
Excelでスクロールすると文字が...
-
VBAで変数に関数式の結果をセッ...
-
エクセルで特定の文字を打つと...
-
エクセルのルビがついたセルを...
-
エクセルで、勤務表から 日付...
-
エクセルで20万行あるシート...
-
エクセル ハイパーリンクで画像...
-
セルの値と同じ名前のシートを...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Excelの「0」だけ非表示、小数...
-
日付が未入力の際はゼロか、空...
-
エクセルで条件に一致したセル...
-
エクセルで1月0日と表示される!!
-
(Excel)あるセルに文字を入力...
-
別シートのセルを絶対参照にする
-
Rangeメソッドは失敗しました。...
-
Excelシートの保護時にデータの...
-
複数シートの同じセル内容を1シ...
-
エクセルで、加筆修正したセル...
-
シート参照で変数を使いたい(EX...
-
エクセルで複写のように自動入...
-
Excelで複数シートの選択セルを...
-
INDIRECTを使わず excelで複数...
-
ExcelでTODAY関数を更新させな...
-
式の説明をお願いします。
-
excelでハイパーリンクになって...
-
エクセルのルビがついたセルを...
-
Excelでスクロールすると文字が...
-
エクセル ハイパーリンクで画像...
おすすめ情報