- ベストアンサー
excelのマクロを使って決まった入力データ位置の文字を.......
VB(マクロ?)初心者です^^; ご教授お願いします excelのマクロを使って ”決まった入力データ位置の文字”をコピー(又は切り取り)して同じseet内の違うセル貼り付けしたいのです。 ただし、同じセルに貼り付けては前の入力内容が消えてしまうので、2回目は前回の下のセル、3回目も....この同じ行為を続けたいのです。 みんなぁ~ help me
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
- ベストアンサー
こんにちは。 一例です。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
その他の回答 (3)
- hige_082
- ベストアンサー率50% (379/747)
'シートモジュールへ 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列最終行へコピー
お礼
ここ..こんなに早く回答していただけるなんて^^ 早々の回答ありがとうございます、頑張ってとりくみま~す とりあえず お礼をしとかなきゃと思いまして ありがとうございました
- DOUGLAS_
- ベストアンサー率74% (397/534)
[回答番号: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)
「決まった入力データ位置」をA1、「同じseet内の違うセル」をB1以下のB列のセルとします。 お手持ちのワークシートの構成が解りませんので、ホントのトコロ、最適なコードが解りませんが、一例ということで。。。 If Range("B1") = "" Then Range("B1").Value = Range("A1").Value Else Columns(2).Find("").Value = Range("A1").Value End If
お礼
DOUGLASさん どうもです^^ 丁寧な(私が理解するのにちと時間がかかると思いますが^^;)御回答 ありがとうございます。 がんばります!!
お礼
M-SOFTさん ご回答ありがとうございました^^ 内容理解しながらになってますので^^;(悪戦苦闘してます) とりあえずお礼まで ども でした!!