• ベストアンサー

横書きの半角数字を、縦表示にしても,横に「・・・」と並べるには?

nishi6の回答

  • ベストアンサー
  • nishi6
  • ベストアンサー率67% (869/1280)
回答No.7

予想通りの指摘ですね。自分でも見苦しいかなと思っていました。 縦書きはセル単位指定のため『。、』のみを縦書きにするのは難しそうです。 『。、』のみ強制的に縦書フォントに変えてみましたが、回転できないのでうまくいきませんでした。 より自然に見えるようにしてみました。(Excelの縦書きと比べて) 『。』はなんとかごまかせている?『、』は苦しいかも知れません。現時点ではこれが最善です。 最後の方を下記のようにしてみて下さい。   Next   '『。、』を縦書き風に見せる対応   TateGaki = Application.Substitute(TateGaki & Right(moji, 1), "。", " " & " " & Chr(223))   TateGaki = Application.Substitute(TateGaki, "、", " " & "`")   HankakuYokogaki = TateGaki End Function 次に、別の考え方でマクロを作ってみました。これはExcelの縦書きと同じ表示になります。 値や式の入っているセルがA1とすると、縦に書きたいセルに=A1として表示させます。そのセルを選択したまま下記のマクロを実行します。 指定したセルから下に向かって順に文字を分割して表示します。セルの高さを操作する必要はありません。セルの結合もしません。 コピーして標準モジュールに貼り付けます。(マクロをショートカットキーを割り当てた方が楽です) 縦書きにした時に【】などを上下にしたい場合は、If InStr(" ") に全角で挿入して下さい。 Public Sub HankakuYokogaki2()   Dim rg As Range '縦書きにするセル   Dim moji As String 'セルの文字   Dim L As Integer 'カウンタ   Dim elm1, elm2, Welm As String '前後の1文字と書き出す文字   Dim mojiCD1, mojiCD2 As Long '前後の文字の文字コード   Dim kaigyo As Boolean '改行有無   Dim rowCot As Integer '書き出す行位置   Dim cutPot As Integer '書き出す文字の開始位置   Application.ScreenUpdating = False   Set rg = ActiveCell   moji = rg.Text & " " '前後で判定するので1文字ダミーで増やしておく   cutPot = 1   For L = 1 To Len(moji) - 1     elm1 = Mid(moji, L, 1): mojiCD1 = Asc(elm1) '調べる文字     elm2 = Mid(moji, L + 1, 1): mojiCD2 = Asc(elm2) '調べる文字の次の文字     kaigyo = True     If 48 <= mojiCD1 And mojiCD1 <= 57 Then       If 48 <= mojiCD2 And mojiCD2 <= 57 Then         kaigyo = False '半角数値が続いたら改行しない       End If     End If       If kaigyo = True Then '改行する場合         Welm = Mid(moji, cutPot, L - cutPot + 1)         With rg.Offset(rowCot, 0)           .Value = Welm           .HorizontalAlignment = xlCenter 'センタリング           .Orientation = 0 '横書きにしておく(初期値)           If InStr("。、ゃゅょャュョっッぁぃぅぇぉァィゥェォ()", Welm) > 0 Then             .Orientation = xlVertical '句読点、小文字なら縦書きにする           End If         End With         cutPot = L + 1 '書き出す位置を進める         rowCot = rowCot + 1 '書き込む行を進める       End If   Next   Application.ScreenUpdating = True End Sub

iillyy
質問者

お礼

これで十分です。 本当にありがとうございました。 アナタのような方は、本当に貴重です。 また見かけたらお世話してください。

関連するQ&A

  • 縦書きで半角英数字を横書きにする

    ワードにおいて、縦書きでの書式で、数字半角2文字だけを横文字で表記するやり方を教えて下さい。 例えば 20世紀 という標記では 20はこのように横標記で、世紀は縦書きになります。 10円から20円 という標記では、10と20は横標記で、他は縦書きになります。 縦書きのビジネス本なのでよく使われています。 よろしくお願い申し上げます。

  • ワードの縦書きで、半角数字を縦表示にしたい

    ワードで縦書きの原稿を作っています。 このときに、たとえば、 平成18年9月20日 を縦書きにした場合、全角のの「9」は縦表示になりますが、半角の「18」や「20」は横を向いてしまいます。 これらを正しく縦に表示させる方法はないでしょうか?

  • ワードで縦中横をした文字の軸がズレる

    ワード2003で文章を作成しています。 縦書きの文章で「!!」「10」などのように半角文字を二つ横に並べたものをそのまま表示するために縦中横を使うのですが、そうして表示されたものが、他の普通の縦書き文字と中心線(というかベースライン)がズレてしまいます(左に寄ってしまう)。 これをきっちり揃えてきれいに見せるにはどうすればいいのでしょうか。 宜しくお願いします。

  • 縦書きにした時の数字を漢数字にしたい

    ワード2010を使って文字列の方向が横の時に 半角の数字で書いたデータがあります。 このデータの文字列の方向を縦に変えると、 当然ですが、半角の数字だけ縦書きに変換されずに残っていて困っています。 できれば、この半角数字を漢数字に変えたいのですが、 方法がわかりません。 どなたかご教授のほど、宜しくお願いします。

  • ワードで縦書き…縦中横について

    「WORD2003」で縦書き文章を作成しています。途中「!?」「!!」などの半角組みの文字を打った時は、横になった文字をその都度「縦中横」で縦にしているのですが面倒です。一度にまとめてすることは出来ないでしょうか? お分かりの方、いらっしゃいましたら教えて下さい。

  • 縦中横にした時の文字が少し下がることについて

     いつもお世話になっております。  ワードの縦書きで半角数字2文字を縦中横にした時、画像のように少し下がってしまい、他の文字と頭のラインが合わなくなってしまいます。  こうならないように設定で合わせる方法は、あるのでしょうか。  ご教示方、よろしくお願いいたします。

  • ワードの縦書きで2桁の数字を横に表示

    例えば、6月23日を縦書きにするとき、6はそのまま表示できるのですが、 23が2の下に3がきてしまい、半角にすると、横を向いてしまいます。 数字のところだけ横書きにして、横幅もぴったりおさめたいです。 オートシェイプや表を使えばできない事もないですが、あまり綺麗ではないです。 縦書きでは漢字を使うのが正式ですが、読みにくいので使いたくないです。 ワープロではできたのに・・・ 縦書きで日付けの書いてあるチラシなどによくあるのに、基本や応用の本に載ってないのはなぜ~

  • 縦書きで数字を横に並べて表示するには?

    説明が悪くて申し訳ないのですが 例題をあげて質問いたしますので宜しく御願いいたします。 Word2002を使っています。 文字方向を縦書きにし、“平成14年”を入力するのですが この“14”の“1”と“4”が横に並んだ状態で表示したいのです。 何か方法があるのでしょうか? 宜しく御願いいたします。

  • 縦書文書に二桁数字

    おはようございます。 すみません、今ワードで文書を作っているのですが、わからないことがありますので教えてください。 word、縦書きです。 1行内に二桁の数字を半角で入れたいのです。いえ、ちゃんと入るなら全角でも全然かまいません。 今、自分でやってみると、こぅ…横になっちゃいます。90度寝た感じです。 テキストボックスで入れるとできることはできるのですが、二桁数字を入力する部分がけっこう多くて面倒なのと、たぶん何かちゃんとした機能があるのではないかと思い…。 よろしくお願いします。

  • word差し込み印刷 半角カタカナ・数字→縦書き

    word2010使用です。 差し込み印刷を使って封筒印刷を作成しています。 元データのExcelに全角かな・数字・アルファベット、半角カナ・数字・アルファベットが 入っている住所を縦書き印刷したいのです。 元データの管理をしているのは私ではない為ここは訂正できません。 数字を縦書きにするのは、差し込みフィールドのスイッチに「\v」を入れると言うのは わかり入れてみました。でもこれでは半角カナが横書きのままでした。 半角カナを全角縦にするには「\* DBCHAR」を入れるというのもわかりました。 でもこれだと半角「-」が横のままになりました。 どちらも縦書きに表示させる方法はありますか? 1日検索しましたが見つけられませんでした(ToT) よろしくお願いいたします。