マクロ初心者です。 このような形で氏名のは入っている行に新規登録を追加していきたいと考えております。 ここまでは表示することができましたが、.Range("4:4")の次の値をSetする際にどうしてもうまくできません。 ご教授をお願いします。 Sub 検索() With Worksheets("30年(当月)") Dim noRng As Range Dim nameRng As Range Dim namelRng As Range Set noRng = .Range("4:4").Find(what:=.Range("番号").Value, lookat:=xlWhole) Set nameRng = .Range("4:4").Find(what:=.Range("氏名").Value, lookat:=xlWhole) Set namelRng = Range("i15").End(xlDown) Cells(namelRng.Row + 1, nameRng.Column) = "新規氏名" Cells(namelRng.Row + 1, noRng.Column) = "新規番号" End With End Sub 0040名無しさん@そうだ選挙にいこう2020/10/09(金) 22:56:45.10 ここまでは思うように動かすことができました。
Sub 検索() With Worksheets("30年(当月)") Dim noRng As Range Dim nameRng As Range Dim namelRng As Range Set nameRng = .Range("4:4").Find(what:=.Range("氏名").Value, lookat:=xlWhole) Set namelRng = Range("i15").End(xlDown) Cells(namelRng.Row + 1, nameRng.Column) = "新規氏名" End With End Sub 0041牧野 ◆Vbs7gX72NY 2020/10/09(金) 23:08:26.85>>39 =.Range("番号") は恐らく :=.Range(番号)
Sub 検索() Dim noRng As Range Dim nameRng As Range Dim namelRng As Range With Worksheets("30年(当月)") Set noRng = .Range("4:4").Find(what:="番号", lookat:=xlWhole) Set nameRng = .Range("4:4").Find(what:="氏名", lookat:=xlWhole) Set namelRng = .Range("i9999").End(xlUp) '★この行は動かすためにアレンジ Cells(namelRng.Row + 1, noRng.Column) = "新規番号" Cells(namelRng.Row + 1, nameRng.Column) = "新規氏名" End With End Sub 0051名無しさん@そうだ選挙にいこう2020/10/10(土) 06:04:41.33 で、名前の列を検索したのにその結果を使わないのはおかしいので、新規を追加する行を検索する部分も修正
Sub 検索() Dim noRng As Range Dim nameRng As Range Dim namelRng As Range With Worksheets("30年(当月)") Set noRng = .Range("4:4").Find(what:="番号", lookat:=xlWhole) Set nameRng = .Range("4:4").Find(what:="氏名", lookat:=xlWhole) Set namelRng = .Cells(9999, nameRng.Column).End(xlUp) Cells(namelRng.Row + 1, noRng.Column) = "新規番号" Cells(namelRng.Row + 1, nameRng.Column) = "新規氏名" End With End Sub 0052名無しさん@そうだ選挙にいこう2020/10/10(土) 06:07:37.63 ごめん、Withの存在を忘れてたんで訂正
Sub 検索() Dim noRng As Range Dim nameRng As Range Dim namelRng As Range With Worksheets("30年(当月)") Set noRng = .Range("4:4").Find(what:="番号", lookat:=xlWhole) Set nameRng = .Range("4:4").Find(what:="氏名", lookat:=xlWhole) Set namelRng = .Cells(9999, nameRng.Column).End(xlUp) .Cells(namelRng.Row + 1, noRng.Column) = "新規番号" .Cells(namelRng.Row + 1, nameRng.Column) = "新規氏名" End With End Sub 0053名無しさん@そうだ選挙にいこう2020/10/10(土) 22:31:35.70 【1 OSの種類 .】 Windows10 【2 Excelのバージョン 】 Excel for Microsoft 365 MSO(16.0.13231.20348)64bit 【3 VBAが使えるか .】 はい 【4 VBAでの回答の可否】 可