• ベストアンサー

excelのマクロを使って決まった入力データ位置の文字を.......

VB(マクロ?)初心者です^^; ご教授お願いします excelのマクロを使って ”決まった入力データ位置の文字”をコピー(又は切り取り)して同じseet内の違うセル貼り付けしたいのです。 ただし、同じセルに貼り付けては前の入力内容が消えてしまうので、2回目は前回の下のセル、3回目も....この同じ行為を続けたいのです。                       みんなぁ~ help me 

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

  • ベストアンサー
noname#187541
noname#187541
回答No.1

こんにちは。 一例です。A1に入力されたデータをB列にコピー貼り付けします。 ただし、エラー処理はしていませんので、B列最後のセル(一番下)に貼り付けた後に実行するとエラーになります。 Dim myrng As Range If Range("B1").Value = "" Then Range("B1").Value = Range("A1").Value Else Set myrng = Range("B" & Rows.Count).End(xlUp) myrng.Offset(1).Value = Range("A1").Value End If

teru_mi_
質問者

お礼

M-SOFTさん ご回答ありがとうございました^^ 内容理解しながらになってますので^^;(悪戦苦闘してます)     とりあえずお礼まで           ども でした!!      

その他の回答 (3)

  • hige_082
  • ベストアンサー率50% (379/747)
回答No.4

'シートモジュールへ Private Sub Worksheet_Change(ByVal Target As Range) If Target.Address(0, 0) = "A1" Then Cells(65536, 2).End(xlUp).Offset(1, 0) = Target End Sub A1セルへ入力、B列最終行へコピー

teru_mi_
質問者

お礼

ここ..こんなに早く回答していただけるなんて^^ 早々の回答ありがとうございます、頑張ってとりくみま~す    とりあえず お礼をしとかなきゃと思いまして      ありがとうございました

  • DOUGLAS_
  • ベストアンサー率74% (397/534)
回答No.3

[回答番号:No.2] の DOUGLAS_ です。  [回答番号:No.2] の応用ですが、「同じseet内の違うセル」を >B1以下のB列のセル ということではなくて、「B5:E10」というような矩形(ブロック単位)の範囲に左上からデータを詰めていくというようなことでしたら、 If Range("B5") = "" Then  Range("B5").Value = Range("A1").Value Else  Range("B5:E10").Find("", SearchOrder:=xlByColumns).Value = Range("A1").Value End If というようなことでできます。  この場合「E10」(最終セル)に既にデータが入っているとエラーになります。

  • DOUGLAS_
  • ベストアンサー率74% (397/534)
回答No.2

 「決まった入力データ位置」をA1、「同じseet内の違うセル」をB1以下のB列のセルとします。  お手持ちのワークシートの構成が解りませんので、ホントのトコロ、最適なコードが解りませんが、一例ということで。。。 If Range("B1") = "" Then  Range("B1").Value = Range("A1").Value Else  Columns(2).Find("").Value = Range("A1").Value End If

teru_mi_
質問者

お礼

DOUGLASさん どうもです^^ 丁寧な(私が理解するのにちと時間がかかると思いますが^^;)御回答 ありがとうございます。                      がんばります!!

関連するQ&A