- ベストアンサー
excelのマクロを使って決まった入力データ位置の文字を.......
VB(マクロ?)初心者です^^; ご教授お願いします excelのマクロを使って ”決まった入力データ位置の文字”をコピー(又は切り取り)して同じseet内の違うセル貼り付けしたいのです。 ただし、同じセルに貼り付けては前の入力内容が消えてしまうので、2回目は前回の下のセル、3回目も....この同じ行為を続けたいのです。 みんなぁ~ help me
- teru_mi_
- お礼率76% (10/13)
- Visual Basic
- 回答数4
- ありがとう数3
- みんなの回答 (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さん どうもです^^ 丁寧な(私が理解するのにちと時間がかかると思いますが^^;)御回答 ありがとうございます。 がんばります!!
関連するQ&A
- excelのマクロを使って決まった入力データ位置の文字を.......追加プログラム
皆さんにお世話になって何とか当初の問題はクリアできたのですが....^^; 新たな問題が発生!! (excelのマクロを使って ”決まった入力データ位置の文字”を同じseet内の違うセル貼り付けしたいのです。 ただし、同じセルに貼り付けては前の入力内容が消えてしまうので、2回目は前回の下のセル、3回目も....この同じ行為を続けたいのです。) 上記( )内が前回の質問で^^ この質問に分岐する様なプログラムを追加したいのです。 -例- 条件 A50セルに文字有り A1に入力したらA2からA45までA1の文字が入力される B1に入力したらA51から以降文字が入力される なんか あつかましい 質問になってます^^; ひらに ひらに help me です
- 締切済み
- Visual Basic
- エクセルのマクロについて教えて下さい
エクセルで、データ(書類)のコピー貼り付けのマクロを組みました。 ツール→マクロで、新しいマクロの記録から、実際にコピーをして貼り付けをし、記録の終了をしました。 次に他のセルの場所でもそのマクロを実行して、何度も場所を変えてコピー貼り付けを実行したいのですが、操作用のボタンを作成して貼り付け、ボタンを押すと、同じ場所でコピー貼り付けを繰り返します。 たしか絶対参照とか相対参照とかあったような気がするのですが…。 どうすれば、他の場所でもボタンを押すだけでコピー貼り付けのマクロを実行できるようになりますか? よろしくお願いします。
- ベストアンサー
- オフィス系ソフト
- EXCELで”+100"を実行するマクロ
EXCELで、マクロを実行するたびに、そのセルに入っている数に100プラスされるマクロを作りたいのです。 意味がよく分からないかもしれませんが、 例えば、あるセルに"100"という数値が入っていて、 1回実行すれば100+100で"200"に、もう1度実行すると、200+100で"300"に。…という感じです。 私的に考えたのは、 別のセルに"そのセル+100"をする式を書き込み、 コピー&元のセルに値貼り付けをし、 式の入った別のセルをDELする… というのをマクロにしてみたのですが、 イマイチうまくないというか… よい方法があったら、アドバイスください。
- ベストアンサー
- オフィス系ソフト
- Excelのマクロのことでお伺いします。
Excelのマクロのことでお伺いします。 A134のセルを切り取ってA136に貼り付け A138のセルを切り取ってA138に貼り付け この作業をA300までやり続けたいのですが、どのようにマクロの設定をすればいいでしょうか
- 締切済み
- その他MS Office製品
- Excel で日付入力したらマクロが動く方法
Excel 2003 です。(OSはXP) データ用のエクセルファイルからマクロでコピー貼り付けをする日報ファイルを作っています。構成シートが7枚、マクロは12モジュール、ファイルサイズが140MBという巨大なものです。 セルB2に日付を入力したとき、Macro1が動くようにしたいのですが、 Private Sub Worksheet_Change(ByVal Target As Range) If Target.Address <> "$B$2" Then Exit Sub Else... 以外に何かうまい方法はないでしょうか? セルに値を入力、じゃなくて、何かのコントロールでもかまいません。 マクロで日付を読み込めることが必須条件です。 上述のマクロの活用方法はいろいろ読みましたが、処理に時間がかかって困っております。「全てのセルに変更が加えられたのを検知」するしか方法はありませんか? 一応、この Macro1 を呼び出す部分以外には Application.EnableEvents = False を入れて、Worksheet_Changeが反応しないように止めていますが、遅いような気がします。(計ったわけではないのですが。) この日報ファイル自体が、計算の塊で、1つのセルに数値を入力しただけで、再計算に1秒前後かかることがあります。 そこで、貼り付けのマクロ(Macro2)を動かすときには Application.Calculation = xlManual を入れたりもしているのですが(それでも貼り付けに1分30秒)、常に再計算をOFFにするわけにもいかず・・・。 だから「全てのセルに変更が加えられたのを検知」という命令は、時間短縮のため避けたいのです。 また、マクロの全てにEnableEventsを入れておくのも、見苦しくて。(新たにマクロを追加したらまた忘れずにEnableEventsを書かないといけない構造にしたくありません。) 「全てのセルに変更が加えられたのを検知」ではなく、特定のオブジェクトに日付が入力された・選択されたのをマクロの開始合図とすることはできませんでしょうか? 質問がわかりにくかったらすみません。よろしくお願いします。
- ベストアンサー
- オフィス系ソフト
- 横にコピーするマクロを教えてください。
エクセルでのコピー・貼付けを、簡単なマクロで処理する方法を教えてください。 現在、セルB3からD8までを入力表とし、入力した数値をコピーして I3からK8に貼付け、また入力表に新たな数値を入力して横のl3からN8に コピ-貼付けと横にコピー貼付けを行っていき、F3からH8には自動的に 集計が上がるようにしています。 このコピー貼付けをボタンで行うマクロをどなかた教えてください。 よろしくお願いいたします。
- ベストアンサー
- オフィス系ソフト
- エクセルで、入力された文字を検索して表示
よろしくお願いします。 例えば、 「B1~H1 セルのどれかに任意の文字を入力すると、A1セルに同じ文字を表示する」 というようなことをエクセル関数を使って実現可能でしょうか。 VBマクロは使えないものとします。
- ベストアンサー
- オフィス系ソフト
- EXCEL 同一データ入力したいです教えて下さい。
A1セルに入力したデータをB1にも入力できるようにしたいです教えて下さい、コピー貼り付けを使わず関数を使って出来るようにしたいです。お願いします
- ベストアンサー
- オフィス系ソフト
お礼
M-SOFTさん ご回答ありがとうございました^^ 内容理解しながらになってますので^^;(悪戦苦闘してます) とりあえずお礼まで ども でした!!