• ベストアンサー

エクセルVBAでご教示ください

シート1のB5にNo、C5に住所、D5に電話・・・・・CXまで入力したものをコピーして シート2のB列の同じNoの行に貼り付けるVBAをご教示ください。 おこないたいことは、シート2に1500ほどある台帳で、修正をのある行データをシート1に No入力で呼び出し、修正して、修正したデータを元台帳に戻すということを行いたいのです。 No入力で呼び出すVBAは何とか出来ていますが、シート2の同じNoの行に貼り付けるVBAが わかりません。 どなたか、よろしくお願いいたします。

質問者が選んだベストアンサー

  • ベストアンサー
  • keithin
  • ベストアンサー率66% (5278/7941)
回答No.1

sub macro1()  dim h as range  set h = worksheets("Sheet2").range("B:B").find(what:=worksheets("Sheet1").range("B5").value, lookin:=xlvalues, lookat:=xlwhole)  if h is nothing then  msgbox "NO MATCH DATA"  exit sub  end if  h.resize(1, 101).value = worksheets("Sheet1").range("B5:CX5").value end sub 言わずもがなですがデータを修正した後に実行します。

hijtxa
質問者

お礼

早速のご教示ありがとうございました。 思ったとおりの動きができました。 早速、活用させていただきます。 ありがとうございました。

その他の回答 (1)

回答No.2

Option Explicit Sub Raw() Dim xMaster As Worksheet Dim xSheet As Worksheet Dim nn As Long nn = 5 Application.CutCopyMode = True '往きはヨイヨイ、、、 Set xMaster = Worksheets("Sheet1") Set xSheet = Worksheets("Sheet2") xMaster.Range(xMaster.Cells(nn, "B"), xMaster.Cells(nn, "CX")).Copy xSheet.Cells(nn, "B").PasteSpecial xlValues '~~~ Application.CutCopyMode = False '還りはコワイ、、、 xSheet.Range(xSheet.Cells(nn, "D"), xSheet.Cells(nn, "CW")).Value = "XXX" xSheet.Range(xSheet.Cells(nn, "B"), xSheet.Cells(nn, "CX")).Copy xMaster.Cells(nn, "B").PasteSpecial xlValues End Sub

hijtxa
質問者

お礼

早速のご教示ありがとうございました。 色々な方法があるのですね。 参考とさせていただきます。 ありがとうございました。

関連するQ&A