- ベストアンサー
エクセルVBAでご教示ください
シート1のB5にNo、C5に住所、D5に電話・・・・・CXまで入力したものをコピーして シート2のB列の同じNoの行に貼り付けるVBAをご教示ください。 おこないたいことは、シート2に1500ほどある台帳で、修正をのある行データをシート1に No入力で呼び出し、修正して、修正したデータを元台帳に戻すということを行いたいのです。 No入力で呼び出すVBAは何とか出来ていますが、シート2の同じNoの行に貼り付けるVBAが わかりません。 どなたか、よろしくお願いいたします。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
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 言わずもがなですがデータを修正した後に実行します。
その他の回答 (1)
- K Kazz(@JazzCorp)
- ベストアンサー率31% (549/1751)
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
お礼
早速のご教示ありがとうございました。 色々な方法があるのですね。 参考とさせていただきます。 ありがとうございました。
お礼
早速のご教示ありがとうございました。 思ったとおりの動きができました。 早速、活用させていただきます。 ありがとうございました。