• ベストアンサー

セルの回転

添付画像はA1が左上になっています。 これをA1が右下になるようにしたいです。 セルの選択範囲で回転か文字の180度回転ができれば、印刷したときに A1が右下で見れるようになるのですが、何か方法はないでしょうか? セルの書式設定の文字方向は-90度~90度しかできませんでした。 XP Pro SP2 Excel2003

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

  • ベストアンサー
  • koko88okok
  • ベストアンサー率58% (3839/6543)
回答No.2

「行列の入れ替え」と「並べ替え」を2回繰り返せば、セルを180度回転した位置になるように思います。 1) セル範囲を選択して「コピー」操作し、どこか邪魔にならないセルを選択して、「編集」→「形式を選択して貼り付け」→「行列を入れ替える」にチェックを入れて「OK」を押します。 2) 貼り付け先の右側の空白の列に連番を入力し、貼り付けたセル範囲と連番のセル範囲を選択して、連番の列をキーに「降順」で「並べ替え」します。 3) 並べ替えたセル範囲を選択して「コピー」操作し、元のA1セルを選択して、「編集」→「形式を選択して貼り付け」→「行列を入れ替える」にチェックを入れて「OK」を押します。 4) 前記 2) と同様に連番を入力して、連番の列をキーに「降順」で「並べ替え」します。 5) 不要になったデータと塗りつぶしを削除します。

satomi002
質問者

お礼

操作が多いですが、色も一緒に入れ替えできました。 ありがとうございました。

その他の回答 (2)

  • n_na_tto
  • ベストアンサー率70% (75/107)
回答No.3

koko88okokさんの手順をマクロ化したほうが圧倒的に 速いと思いますが、原始的なコピーの繰り返し のコードです。 もう不要だとは思いますが... Sub test() Application.ScreenUpdating = False Dim oldSht As Worksheet Dim newSht As Worksheet Dim myRng As Range Dim cntR As Long Dim cntC As Long Dim i As Long Dim j As Long Set oldSht = ActiveSheet Set myRng = oldSht.Range("A1").CurrentRegion With myRng  cntR = .Rows.Count  cntC = .Columns.Count End With oldSht.Cells.Copy Set newSht = Worksheets.Add With newSht  .Range("A1").PasteSpecial Paste:=xlPasteAll  .Cells.Clear  For i = 1 To cntR   For j = 1 To cntC    oldSht.Cells(i, j).Copy .Cells(cntR - i + 1, cntC - j + 1)   Next j  Next i  .Range("A1").Select End With Application.ScreenUpdating = True End Sub

satomi002
質問者

お礼

また、同じ作業をする事になると思うので、そのときは試してみます。 ありがとうございました。

  • n_na_tto
  • ベストアンサー率70% (75/107)
回答No.1

例えばA1:T20の【値】を関数でひっくり返すなら、 転記先の左上のセルに =INDEX($A$1:$T$20,ROWS($A$1:$T$20)-ROW(A1)+1,COLUMNS($A$1:$T$20)-COLUMN(A1)+1) 右方向・→下方向・↓ しかし、塗りつぶしの色などの【書式】も一緒に移動 するとなると、関数では無理だと思います。

satomi002
質問者

お礼

操作は簡単でしたが、色は入れ替えできないのですね。 マクロで色番号を使って出来そうな気はしますが難しそうです。 ありがとうございました。

関連するQ&A

専門家に質問してみよう