• ベストアンサー

アルファベットを逆さ文字にする事は可能でしょうか?

エクセル2010です。 文字を逆さにしたいのですが セルの書式設定でフォントを「@MS Pゴシック」にして 配置を90度にしたら確かに出来たのですが アルファベットだと横向きになってしまいます。 リンクの貼り付けで半句 この方法でアルファベットを逆さ文字にする事は可能でしょうか? 画像の文字はアルファベットのaです。

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

  • ベストアンサー
  • imogasi
  • ベストアンサー率27% (4737/17069)
回答No.4

VBAでの回答はすでにあるが、コード行数が少なくならないかとやってみた。 VBAでなく、VBAに対応する手動操作も必ずあるので、そちらでもやれると思います。 エクセル2013でテスト。 シートSheet1のB2セルの文字列を対象にする。アルファベット文字でも可。 セルの位置とサイズに、本四角形図形を合わせる仕様です。 下記コードでは、フォントや色もVBAでいじくってみた。 標準モジュールに下記をコピペして実行。 一応テストは済ませています。一旦図形に移さないと、シートのセルの見てくれ文字を相手に180度回転する(操作はない)ことはできないようなので、テキストボックスに文字列を持って行って回転させたもの。 Sub test1() Worksheets("Sheet1").DrawingObjects.Delete 'テスト繰り返しのため入れている l = Range("b2").Left: t = Range("b2").Top: h = Range("b2").Height: w = Range("b2").Width Set tb = Worksheets("sheet1").Shapes.AddShape(msoShapeRectangle, l, t, w, h) tb.TextFrame.Characters.Text = Range("b2") tb.TextFrame.Characters.Font.Color = vbRed tb.TextFrame.Characters.Font.Size = 20 tb.Fill.Visible = True tb.Select Selection.ShapeRange.IncrementRotation 180 End Sub ーー あと「図形の書式設定」の操作で 、「塗りつぶしなし」、「線なし」を設定 元のセルの値を不要として、削除するなら手動でDelete 図形のサイズ、文字列の中央揃え、左詰めなどの配置など手動でやってください。 この辺りは、エクセルのバージョンにより変更が激しいようなので、WEBなどの記事で調べてもわかりずらかった。 小生がよくわかってない部分があり、省略して徹底してない点はお詫びします。 参考サイト http://www.geocities.jp/oyakamassan_m/moji/moji10.html WEBの記事も(エクセルのバージョンにより、エクセル95のVBA以後、変更が激しいので)実際やってみるとうまく行かないものがあり、むつかしい題材点だと思った。 テキストボックス、四辺形もワークシートに貼りつけやり方は、メインではないようだ。

tltliesnvyz
質問者

お礼

ご回答ありがとうございました。

その他の回答 (3)

  • Chiquilin
  • ベストアンサー率30% (94/306)
回答No.3

アルファベットを全角で入力すればできます。

tltliesnvyz
質問者

お礼

ご回答ありがとうございました。

  • cbm51901
  • ベストアンサー率67% (2671/3943)
回答No.2

これも結局は180度転回したテキストボックスを強制的にセルの寸法に当てはめただけですが、例えば「B2」のセルに ABCDEF 、「B3」のセルに GHIJKL と逆さまに表示したい場合、以下のマクロを使うことができます。 セル名(e.g."B2" )を任意のセルに置き換え、テキスト(e.g. "ABCDEF" )を書き込んでいきます。 Sub up_side_text() Dim cel As Range Dim shpOval As Shape Set cel = Range("B2") ActiveSheet.Shapes.AddTextbox(msoTextOrientationHorizontal, cel.Left, cel.Top, cel.Width, cel.Height).Select With Selection.ShapeRange .TextFrame2.TextRange.Characters.Text = "ABCDEF" .Line.Visible = msoTrue .IncrementRotation 180 .TextFrame2.VerticalAnchor = msoAnchorBottom .TextFrame2.TextRange.ParagraphFormat.Alignment = msoAlignCenter .TextFrame2.VerticalAnchor = msoAnchorMiddle End With Range("B2").Select Set cel = Range("B3") ActiveSheet.Shapes.AddTextbox(msoTextOrientationHorizontal, cel.Left, cel.Top, cel.Width, cel.Height).Select With Selection.ShapeRange .TextFrame2.TextRange.Characters.Text = "GHIJKL" .Line.Visible = msoTrue .IncrementRotation 180 .TextFrame2.VerticalAnchor = msoAnchorBottom .TextFrame2.TextRange.ParagraphFormat.Alignment = msoAlignCenter .TextFrame2.VerticalAnchor = msoAnchorMiddle End With Range("B3").Select End Sub

tltliesnvyz
質問者

お礼

ご回答ありがとうございました。

  • mt2015
  • ベストアンサー率49% (258/524)
回答No.1

お望みの方法ではないかもしれませんが、別セルに入力した文字を「図のリンク貼り付け」で張り付けた後、180°回転することで逆さ文字として表示することは可能です。

tltliesnvyz
質問者

お礼

ご回答ありがとうございました。

関連するQ&A

専門家に質問してみよう