• ベストアンサー

エクセルで反転コピー

本来のエクセルの使い方とは違うのですが、 織物の図面を作成しています。 セルの幅を正方形にちじめて、 色をひとつづつつけていくやり方で デザイン作成しています。 結構200×400ぐらいのマスの大作です。 そこで、反転した絵を作る場合 コピーで反転できないかとの悩みです。 わかりにくいかもしれませんが 左半分を色をつけ(今回は記号で表しています。) --* *** --* コピーして反転できないかというものです。 --**-- ****** --**-- カメラ機能でやってみましたが、その後に絵柄を付け加えたい 場合もあるので、試して使えないと思いました。 感じとしては行列を入れ替えて貼り付けするって方法なのですが 90度しか反転しません。 180度回転させてコピーしたい場合簡単にできないものでしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
  • rivoisu
  • ベストアンサー率36% (97/264)
回答No.2

美しいものを見せていただきありがとうございます。 さて、整理すると線対象に右側に同じ色をつけるということで考えましたが VBA(マクロ)でやるのが簡単かと思いました。 マクロを使われたことがないという前提で説明します。 ブックを開いて Altキーを押しながらF11を押します。 マクロの画面が開きます。 上部のツールバーから「挿入」-「標準モジュール」とします。 コード(プログラム)を入力するシートが開きます。 下のコードをコピーして貼り付けます。(Option から End subまで) ×をクリックしてマクロの画面を閉じます Option Explicit Option Base 1 Sub 反転() Dim 列数 As Integer Dim 行数 As Integer Dim 開始列 As Integer Dim 反転開始列 As Integer Dim 開始行 As Integer Dim i As Integer Dim j As Integer 列数 = Selection.Columns.Count 行数 = Selection.Rows.Count 開始列 = Selection.Column 開始行 = Selection.Row 反転開始列 = 開始列 + 列数 For i = 開始行 To 開始行 + 行数 - 1 For j = 1 To 列数 Cells(i, 反転開始列 + 列数 - j).Interior.ColorIndex = Cells(i, 開始列 + j - 1).Interior.ColorIndex Next Next End Sub 通常のExcel画面で「マクロ」-「マクロの表示」とします マクロ名に 反転 と出ているところで「オプション」をクリック マクロオプションの画面でショートカットキーにqと入力します。 OKをクリック マクロの窓を閉じます。 これで準備OKです 反転したい範囲を指定してCtrlキーを押しながらqを押します。(マクロの起動) 指定された範囲の右側に反転された図形が現れます。 本当はマクロと図形のブックを分けたほうがいいのですが説明が煩雑になり敷居が高くなるかなと思いこうしました。 (これでも十分高いかもしれませんが)

kyounotenk
質問者

お礼

す・・・すごい できました。 簡単なマクロしかできない私にとっては感動・・・ rivoisuさんは何でもできちゃいますね エクセルのバージョンもお知らせするのも忘れていました。 (Excel2003です。) おかげで、オウムをまた、チマチマ色づけの時間が一気に短縮できました。 これからデザイン図案が一気に短縮でき、楽しくなりそうです。

その他の回答 (3)

回答No.4

行列反転しなくても 1行目に 1,2,3・・・として範囲を選択し データ - 並べ替え [オプション] ●列単位 最優先されるキー ●降順 でもよいと思います。 コピーではないですが ツール - オプション インターナショナル [レ][現在のシートを右から左へ表示する] なんてのもあります。 # デザインのセンスがあって羨ましい(@_@)

kyounotenk
質問者

お礼

お~~~~ すっばらしい・・・ こんなに簡単にできるなんて、、、、 並べ替えが列単位でできるななんて 知らなかったです~~ 教えていただいて感謝!! ありがとうございます。 シートを右から左へ というのも初めて知りました~~~~ CoalTarさんありがとうございました~~

  • rivoisu
  • ベストアンサー率36% (97/264)
回答No.3

できてよかったです。

  • zongai
  • ベストアンサー率31% (470/1474)
回答No.1

左右反転したいということで、思いつきの手順です。 1.範囲を選択してコピー 2.別シートに[形式を選択して貼り付け]-[行と列を入れ替える]で貼り付け 3.A列を挿入し、着色のある行に1から順に数字を入れていく(「1」を入力したら、右下フィルハンドルを[CTRL]を押しながら下へドラッグ) 4.3まででできたものを、そのすぐ下へコピー貼り付け 5.貼り付けた行だけを選択し、[降順]の並べ替え 6.A列を削除(これで、90°回転状態で反転複写完了) 7.全体をコピーし、別シートに別シートに[形式を選択して貼り付け]-[行と列を入れ替える]で貼り付け どうでしょうか?

kyounotenk
質問者

お礼

早速の回答ありがとうございました。 反転した後並べ替えなんて考えも着きませんでした。 すごくいい勉強になりました。 絵も反転することができました(^^♪

関連するQ&A