• 締切済み

EXCEL2013で文字を180度回転できません

EXCELで、文字を180度回転したいのですが こちらの方法を試しても出来ませんでした。 http://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q10132080850 @マークをつけて、横書きになって、そのあと設定で90度にしてみましたが、 どうしても反転した文字がセルの中で、縦書になってしまいます。 理由はわかりますか?

みんなの回答

  • eden3616
  • ベストアンサー率65% (267/405)
回答No.5

強引な方法で、、、、 選択中のセルを画像コピーして同じセルへ反転貼付します。 (結果は添付画像のようになります) ※添付画像では出力後をD列にしていますが、実際は選択しているセルに張り付けられます。 ※リンクしていないので文字列を修正した場合は削除後、マクロを再度実行する必要があります。 ■準備 (1)Alt+F11でVBEを開く。 (2)挿入→標準モジュールを選択して標準モジュールを作成。 (3)最下のVBAコードを貼り付ける。 (4)右上の×またはAlt+F11でVBEを閉じる。 ■使い方 (1)対象のセルを選択 (2)Alt+F8または表示→マクロから「sample」マクロを実行 ■文字列の反転について コード内の末尾に「'★」を付けた行で「1」となっている値を以下の場合によって設定してください。 文字列「テスト」を「トステ」にしてから反転する場合は「1」、変更せずに反転するには「0」を設定してください。 ■VBAコード Sub sample()   Dim word As String, i As Integer   Dim tar As Range, flag As Integer   Dim posx As Integer, posy As Integer   ActiveWindow.DisplayGridlines = False   Application.ScreenUpdating = False   '文字列の反転(する:1、しない:0)   flag = 1 '★   'セル処理   With Selection     word = .Value     If Len(word) = 0 Then Exit Sub     Set tar = Selection     '配置記録     posx = .HorizontalAlignment     posy = .VerticalAlignment     '横位置     Select Case posx     Case -4131 'xlLeft       .HorizontalAlignment = xlRight     Case -4152 'xlRight       .HorizontalAlignment = xlLeft     Case 1 'xlNone       .HorizontalAlignment = xlRight     End Select     '縦位置     Select Case posy     Case -4107 'xlBottom       .VerticalAlignment = xlTop     Case -4160 'xlTop       .VerticalAlignment = xlBottom     End Select     '文字反転     If flag = 1 Then       For i = Len(.Value) To 1 Step -1         .Value = .Value & Mid(.Value, i, 1)       Next i     End If     .Value = Right(.Value, Len(word))     .CopyPicture Appearance:=xlScreen, Format:=xlPicture     ActiveSheet.Paste   End With   'シェイプ処理   With ActiveSheet.Shapes(Selection.ShapeRange.Name)     If tar.Interior.ColorIndex = xlNone Then       .Fill.ForeColor.RGB = RGB(255, 255, 255)     End If     .Rotation = 180     .Placement = xlMoveAndSize   End With   'セル復元処理   With tar     .HorizontalAlignment = posx     .VerticalAlignment = posy     .Value = word     .Select   End With   Application.ScreenUpdating = True   ActiveWindow.DisplayGridlines = True End Sub

  • MackyNo1
  • ベストアンサー率53% (1521/2850)
回答No.4

>日本語だと高さを狭くしたらうまくいきました! ただし、英語の文字だと、、、、だめみたいです。 This is a pen. を逆さまにしたいのですが、、、 基本的にフォント名の前に@を付けた縦書きフォントは、全角文字(日本語フォント)以外では使用できません。 英数字を漢字やひらがなと同じように90°回転したいなら、JIS関数で全角変換するしかありません。 添付画像胃のようにA1セルに元データがあるなら、B1セルに「=JIS(A1)」と入力して、さらに90°回転してください。

noname#199520
noname#199520
回答No.3

回転した時に回転した状態の表示用フォントデータを持たないフォントは回転させても元に戻ります テキストボックスを作ってそれを回転したらいいですよ http://www4.synapse.ne.jp/yone/excel2013/excel2013_textbox_hanten.html

  • eden3616
  • ベストアンサー率65% (267/405)
回答No.2

参照先ですが以下のようにあります。 >「折り返して全体を表示する」にチェックを入れます。 ご提示の添付画像のように行の高さを大きくせずに 1行分の行の高さ(13.5ポイント)ほどに設定してください。 これは縦書きの180度回転文字をセル高さに収めるように自動で折り返して 擬似的に横文字の180度回転に見せる方法のようです。

kevinsan
質問者

補足

ありがとうございました。 日本語だと高さを狭くしたらうまくいきました! ただし、英語の文字だと、、、、だめみたいです。 This is a pen. を逆さまにしたいのですが、、、 どういうわけか、縦書になってしまいます。

  • Naomi1995
  • ベストアンサー率42% (48/114)
回答No.1

こんにちは! 下記のURLのようなやり方でも同じでしょうか? 参考になれば嬉しいのですが…。

参考URL:
http://www.relief.jp/itnote/archives/000215.php

関連するQ&A