[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『VBA 別シートにある特定のセルを上書きしたい』(いちご)
「上書き」と「一覧」のシートがあり、上書きシートに名称と日付を入力し、上書きボタンを押すと、一覧シート内を名称で検索し、ヒットした名称の日付の欄を「上書きシート」で記入した日付に上書きできるようにしたいです。
以下のコードで試しましたが、「t.Select」の部分で「オブジェクトSelectのメソッドRangeが失敗しました」とエラーが出てしまいます。
どの部分が違うのでしょうか?
また、もっといいコードがあれば教えていただきたいです。
初心者な為、めちゃくちゃなコードでしたら申し訳ないですが、
どうぞよろしくお願いいたします。
Sub 上書き()
Dim i Dim t As Range
i = Range("C7").Value ’上書きシート内「名称」セル
Range("C15").Select ’上書きシート内「日付」セル Selection.Copy
Set t = Sheets("一覧").Range("A:A").Find(what:=i, lookat:=xlWhole) ’A列に名称が記入されている
If t Is Nothing Then MsgBox "見つかりませんでした" Else t.Select ActiveCell.Offset(0, 3).Select ’C列に日付が記入されている ActiveCell.PasteSpecial Paste:=xlPasteValues
MsgBox "上書きが完了しました"
End If
End Sub
< 使用 Excel:Excel2019、使用 OS:unknown >
単純にSheets("一覧")がアクティブになっていないからでは。
> ActiveCell.Offset(0, 3).Select ’C列に日付が記入されている > ActiveCell.PasteSpecial Paste:=xlPasteValues
↑ ここのActiveCellをtに変え、続けて Offset・・・.PasteSpecialにすれば、 offset・・・選択もいらない。 (BJ) 2020/05/17(日) 12:58
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.