![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?8acaa2e)
下記のマクロはツール、マクロ、新しいマクロの記録で作成しました。
順序はa1に ”=RSS|'3315.T'!現在値” 最初から入力しておきます。
1回目a1に楽天のマーケットスピード (MS) より数字が入力されます
a1に入力したすうじをa5とa6にコピーします。
2回目 MS より次の入力が入ります。
a1に入力したすうじをa5にコピーします。
a5,a6 を a6,a7 にコピーします。
3回目 MS より次の入力が入ります。
a1に入力したすうじをa5にコピーします。
a5,a6,a7 を a6,a7,a8 にコピーします。
4回目 MS より次の入力が入ります。
a1に入力したすうじをa5にコピーします。
a5,a6,a7,a8 を a6,a7,a8,a9 にコピーします。
n回目 MS より次の入力が入ります。
a1に入力したすうじをa5にコピーします。
a5,a6,a7,a8,-----a? を a6,a7,a8,a9,-----a? にコピーします。
以後入力有り次第 繰り返し続けて記録したいのです。
下記のマクロはa列に記録ですがb、c、d、と4箇所形式は同じですがデータの違いのが有るのですが
a,b,c,d,列入力順序がばらばらなのです
a列のみでもお願いします。
Sub M3()
Range("A1").Select
Selection.Copy
Range("A5").Select
ActiveSheet.Paste
Application.CutCopyMode = False
Selection.Copy
Range("A5:A6").Select
ActiveSheet.Paste
Application.CutCopyMode = False
Range("A5").Select
Range("A1").Select
Selection.Copy
Range("A5").Select
ActiveSheet.Paste
Application.CutCopyMode = False
Range("A5:A6").Select
Selection.Copy
Range("A6").Select
ActiveSheet.Paste
Range("A1").Select
Selection.Copy
Range("A5").Select
ActiveSheet.Paste
Application.CutCopyMode = False
Range("A5:A7").Select
Selection.Copy
Range("A6").Select
ActiveSheet.Paste
Range("A5").Select
Range("A1").Select
Selection.Copy
Range("A5").Select
ActiveSheet.Paste
Application.CutCopyMode = False
Range("A5:A8").Select
Selection.Copy
Range("A6").Select
ActiveSheet.Paste
Range("A5").Select
Range("A1").Select
Selection.Copy
Range("A5").Select
ActiveSheet.Paste
Application.CutCopyMode = False
Range("A5:A9").Select
Selection.Copy
Range("A6").Select
ActiveSheet.Paste
Range("A5").Select
Range("A1").Select
Selection.Copy
Range("A5").Select
ActiveSheet.Paste
Application.CutCopyMode = False
Range("A5:A10").Select
Selection.Copy
Range("A6").Select
ActiveSheet.Paste
Range("A5").Select
End Sub
A 回答 (3件)
- 最新から表示
- 回答順に表示
No.3
- 回答日時:
こういう同じ場所にデータが入って来るものは、マクロの記録では、扱うのは無理です。
マクロの記録はどういうところに向いているか、限界は何か、などVBAをもっと勉強しないと。多分(注)イベントという仕組みで、どれもシートのChangeイベントの助けで、そのキッカケで、データ取り込み(他のセルに、次のデータで壊されないようにA1セルから退避する)をする。
ーー
それに>a5,a6,a7,a8 を a6,a7,a8,a9 にコピーします
などのところは、くどく繰り返さないでも、今有るデータの最下行の下行にデータを写す(移す、代入する)という処理でよいのでは。そして最後に昇順や降順にソートすればよいのではないのかな。
最下行は
Sub test01()
MsgBox Range("A65236").End(xlUp).Offset(1, 0).Row
End Sub
を参考にすればよいと思う。
(注)動的な、WEBデータ相手の処理ならば、イベント処理を使ってで、うまく行くかどうか、テストも出来てないので、自信はないが。初心者がやるには難しすぎるように思う。
No.2
- 回答日時:
A1に数値が入力されたら処理を実行するには、
この場合は、
Worksheet_Calculate イベント
Workbook_SheetCalculate イベント
などを使うのではないですか。
もう少し勉強しましょう。
No.1
- 回答日時:
はじめまして
「マクロの記録」では解決できません。
自分でマクロを編集する必要があります。
まずは「MS より次の入力が入ります。」のタイミングでマクロを実行する必要があります。
A1の値を変更したら、その都度手動でマクロを実行するのが一番手っ取り早い方法です。
また、「イベントプロシージャ」の「Workbook_SheetChange」を使って、A1が変更されたときに自動的にマクロを実行することもできます。
次に、
[A65536].End(xlUp).Row
という数式を使えば、データが入っている一番下の行の番号が分かります。(A65536はA列の一番最後のセルですが、Excelのバージョンによって異なります。使用しているExcelで確認してください)
もっとも、最後の行を調べなくても、
Range("A5").Select
Selection.Copy
Selection.Insert Shift:=xlDown
と、「挿入-コピーしたセル」という機能を使えば、自動的にデータを下へずらすことができます。
http://www.jpita.or.jp/hpv3/ziten/mokutekibetu/e …
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) エクセル VBAでシートのコピーを作りたい 1 2023/05/18 07:42
- Visual Basic(VBA) データのある範囲を選択するVBAについて 2 2022/09/03 00:20
- Visual Basic(VBA) マクロで最終行を取得してコピーしたい 3 2022/04/06 19:07
- Visual Basic(VBA) マクロを短くする 1 2023/01/15 00:11
- Excel(エクセル) エクセルのマクロでコピー後の貼り付け先を毎回指定したところにしたい 5 2022/08/12 10:47
- Excel(エクセル) ExcelVBAについて。 2 2022/12/10 20:08
- Excel(エクセル) ②Excel 簡単にシートコピーしたら前日の残高と日付を変更させたい→マクロの記録でエラーが出ます 8 2022/07/16 20:40
- Visual Basic(VBA) 動きっぱなしです。止め方とプロシージャの間違いを教えて下さい! 5 2022/08/15 23:08
- Excel(エクセル) excelVBAについて。 8 2022/12/11 13:47
- Visual Basic(VBA) excelVBAについて。 4 2022/11/21 16:15
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルにペーストしたときの...
-
tera term マクロのinputbox
-
漢字→ひらがな 一括変換
-
Excelを使って問題と解きたいの...
-
関数を使った日時の自動入力
-
PowerPointの表内のカンマ
-
【VBA】PDF出力に任意のファイ...
-
EXCELでタイトル行と一番下の行...
-
エクセルでオートサムを使った...
-
エクセルで「-3E+06」と...
-
Wordの差し込み印刷で空白行が...
-
エクセルで決められた合計にな...
-
【エクセル】入力規則のプルダ...
-
エクセルで囲み線で出来ますか?
-
【Excel】選択したすべてのセル...
-
エクセルでleft関数の結果が表...
-
16桁以上の「0」に変換されてし...
-
EXCEL 連動したドロップダウン...
-
エクセル 印刷範囲外を非表示...
-
エクセルでハイパーリンクのコピー
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
tera term マクロのinputbox
-
エクセルにペーストしたときの...
-
漢字→ひらがな 一括変換
-
関数を使った日時の自動入力
-
エクセルでの現在時刻入力
-
エクセルでHTML情報を無視したい
-
エクセルのコピー貼り付けマクロ
-
単純な掛け算なのにわけのわか...
-
エクセル_日付けの自動入力
-
「星の数を10個」をマクロで書...
-
Excelを使って問題と解きたいの...
-
キーボード、マウス操作を自動...
-
エクセル☆セルに入力必須の制限...
-
エクセルで勤怠管理表のようなもの
-
vba 順次記録
-
エクセルで保護を自動に行う設定
-
PowerPointの表内のカンマ
-
【VBA】PDF出力に任意のファイ...
-
EXCELでタイトル行と一番下の行...
-
LINEのこの空白ってどんな意味...
おすすめ情報