質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
VBA

VBAはオブジェクト指向プログラミング言語のひとつで、マクロを作成によりExcelなどのOffice業務を自動化することができます。

Q&A

解決済

2回答

1662閲覧

エクセルの列順を変更するマクロを作成したい

silversink

総合スコア16

VBA

VBAはオブジェクト指向プログラミング言語のひとつで、マクロを作成によりExcelなどのOffice業務を自動化することができます。

0グッド

0クリップ

投稿2018/05/14 02:47

編集2018/05/14 03:00

こんなマクロを作成したいのですが可能でしょうか?


エクセルにA~D列の記載されている情報を
同じシートの下の方に列の順番を変えて表示。


ファイル名に列の情報を反映。
(例:日付)

マクロ自体をあまり触ったことがないので知識がなく、
どなたかご教授お願い致します。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

ベストアンサー

例がないので一概に言えませんが、可能かと思われます。
それぞれ細分化すると、


・項目のコピー の方法
(『表示』がコピーを指すなら、ですが)


・名前を付けて保存 する方法
・セルの内容の取得方法(A1に何が書かれているか 等)
・文字列と文字列の結合方法(& で繋ぐ)

最小限に考えればこれで大丈夫かと思います。

文字列と文字列の結合方法 以外は
マクロの記録で事足りるはずなので、
とりあえずそこから攻めていくのがお勧めです。

投稿2018/05/14 08:32

torisan

総合スコア678

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

マクロの記録を使えば、自分で操作した事に対応するマクロが記録されます。
特に①のようなケースでは有用な方法ですから、ためしてみてください。

==
① A1:D7 の値を、11行目から、B,C,D,Aの列にコピーする操作をマクロ記録してみました。
A1:A7がB11:B17に、B1:B7がC11:C17に、C1:C7がD11:D17に、D1:D7がA11:A17にコピーされる例です。

Excel

1Sub 列を入れ替えてコピーする() 2' 3' 列を入れ替えてコピーする Macro 4' 5 6' 7 Range("A1:A7").Select 'A1:A7を選択して 8 Application.CutCopyMode = False 9 Selection.Copy 'コピーして 10 Range("B11").Select '行き先のB11セルを選択して 11 Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ 12 :=False, Transpose:=False '値を貼付けする(B11:B17にA1:A7の値がコピーされる) 13 '以下、同様のコードでB1:B7がC11:C17に、C1:C7がD11:D17に、D1:D7がA11:A17にコピーされます。 14 Range("B1:B7").Select 15 Application.CutCopyMode = False 16 Selection.Copy 17 Range("C11").Select 18 Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ 19 :=False, Transpose:=False 20 Range("C1:C7").Select 21 Application.CutCopyMode = False 22 Selection.Copy 23 Range("D11").Select 24 Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ 25 :=False, Transpose:=False 26 Range("D1:D7").Select 27 Application.CutCopyMode = False 28 Selection.Copy 29 Range("A11").Select 30 Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ 31 :=False, Transpose:=False 32End Sub

こうゆう七面倒くさいVBAが自動的に作られるのが、マクロ記録の良いところです。
(上記のコードは、マクロの記録で得られたVBAのコードに、動作を説明するコメントを追加したものです。

投稿2018/05/14 04:03

編集2018/05/15 14:07
coco_bauer

総合スコア6915

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

silversink

2018/05/15 01:19

お返事遅くなりました。 ありがとうございました。 いろいろ試してみます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問