- ベストアンサー
エクセルでセルに入力したら別セルを別シートにコピー
- みんなの回答 (5)
- 専門家の回答
質問者が選んだベストアンサー
こんばんは VBAのChangeイベントを使ってみてください。 下記のコードをSheet1のシートモジュールに貼り付けてください。 Private Sub Worksheet_Change(ByVal Target As Range) With Target If .Count > 1 Then Exit Sub If .Column <> 5 Then Exit Sub If .Value = "" Then Exit Sub Cells(.Row, "A").Resize(, 5).Copy _ Worksheets("Sheet2").Cells(Rows.Count, "A").End(xlUp).Offset(1) End With End Sub
その他の回答 (4)
- msMike
- ベストアンサー率20% (368/1812)
あの~、その~、私、マクロ音痴なモンでスンマソンm(_._)m 添付図参照 Sheet2 において、 セル A2 に次式を入力 =IFERROR(INDEX(Sheet1!A$1:A$10,SMALL(IF(Sheet1!$E$2:$E$10<>"",ROW($A2:$A10)),ROW(A1))),"") 次式を入力したセル B2 を右隣にオートフィルした後で、範囲 A2:C2 を下方にズズーッとオートフィル =IFERROR(INDEX(Sheet1!D$1:D$10,SMALL(IF(Sheet1!$E$2:$E$10<>"",ROW($A2:$A10)),ROW(A1))),"") 【お断り】上式は何れも必ず配列数式として入力のこと
お礼
返信が遅れてすみません。 この式も役に立ちそうです!! ありがとうございました!
- imogasi
- ベストアンサー率27% (4737/17070)
>B1、B4の情報がコピーされるように シート2の画像の内容と、違う例を挙げているのでは。 シート1の住所列(E列?)はどういうデータになっているのか? A列の3のデータなら 3 20 東京都港区 で、3 10 東京都港区ではないのでは。 また>B1、B4ではないのでは? ーー 読者は例示データが、理解の頼りなのだ。しっかり書いて説明して。 == VBAそれも「イベント」という考え方を勉強しないと、できないと思う。 経験ないのでは?。ならば回答者にヒントをもらうのでなくて、道具に使うことになる。 エクセルでは、シートにENTERイベントはないので((ENTERは)データ入力確定に使われる)Changeイベントでとらえる他ないと思うが。 またイベントをとらえるセル範囲を設定する仕方の知識がいると思う。 Deleteキーを押すでも、このイベントが発生したりする。 どこへ回答のVBAコードを書くのとか。 多少勉強しないとむつかしいと思う。
お礼
説明の不備、知識不足、申し訳ございませんでした。
- aokii
- ベストアンサー率23% (5210/22063)
マクロで行う場合は正確な記述が必要ですので、できれば、マクロ記録で操作を自動作成してみてください。
補足
ご指示いただいました通りマクロ記録を行ってみました。 以下がその内容になります。 どうぞよろしくお願いいたします!! Sub 抽出() ' ' 抽出 Macro ' ' Range("E4").Select ActiveCell.FormulaR1C1 = "東京都港区" ActiveCell.Characters(1, 3).PhoneticCharacters = "トウキョウト" ActiveCell.Characters(4, 2).PhoneticCharacters = "ミナトク" Range("A4,D4,E4").Select Range("E4").Activate Selection.Copy Sheets("Sheet2").Select Range("A2").Select ActiveSheet.Paste Sheets("Sheet1").Select Range("E6").Select Application.CutCopyMode = False ActiveCell.FormulaR1C1 = "北海道札幌" ActiveCell.Characters(1, 3).PhoneticCharacters = "ホッカイドウ" ActiveCell.Characters(4, 2).PhoneticCharacters = "サッポロ" Range("A6,D6,E6").Select Range("E6").Activate Selection.Copy Sheets("Sheet2").Select Range("A3").Select ActiveSheet.Paste Sheets("Sheet1").Select End Sub
- aokii
- ベストアンサー率23% (5210/22063)
マクロ以外では難しいです。
補足
説明が足りず申し訳ありません。 マクロのやり方をお教えいただきたいと考えています。 どうぞよろしくお願いいたします。
お礼
できました!! ありがとうございます!!! 質問に不備があったり、道具に使っていると思われたりしてたので、もう返信はもらえないだろうとあきらめていました・・。 とても嬉しいです。 本当にありがとうございました。