挿入→テキストグループのオブジェクトで、Microsoft Word文書オブジェクトを挿入し、
オブジェクトの書式設定で、塗りつぶしと線の色をなしにして、オブジェクト全体の
サイズを調整します。
このオブジェクト内に、縦書き1行分のテキストボックスを並べて配置し、
テキストボックスも塗りつぶしなし、線の色なしに設定し、
テキストボックスタブで、テキストボックスと文字列の間隔の上下左右の値を、
できるだけ小さな値に変更します。
テキストボックスは、[Ctrl]キー+ドラッグでコピーができます。
一番左のテキストボックスの枠を選び、カーソルが十字矢印になったら右クリックし、
テキストボックスのリンクの作成を選び、左から2番目のテキストボックスを選択します。
同様に2番目から3番目、3番目から4番目へと、テキストボックスのリンクを作成します。
リンクの作成が済んだら、一番左のテキストボックスに文字を入力します。
テキストボックスから文字が溢れると、リンクした次のテキストボックスに
文字が自動的に流し込みされて行きます。
Excelのテキストボックスには、このリンク機能が無いので、Wordオブジェクトを
貼り付けて行ってみました。
簡単と言えるかどうか分かりませんが、一方法として参考にしてください。
--
sum (Susumu Zenba)
"竹仙人" <@discussions.microsoft.com> wrote in message
news:7070355C-E2C0-4108...@microsoft.com...
"sum" wrote:
> .
>
縦書きで左→右への記述は、横書きで下→上への記述と同じことになり、
記述する方向は、OSで設定されている言語により決定されています。
Excelのセルに、縦書きで左から右へ書く場合の、前回と違う方法としては、
セルを縦書きに設定しておき、数式バーで[Alt]+[Enter]を複数行入力して、
最下行から順に文字列を入力していけば、縦書きで左→右へと
記述したようになると思います。
--
sum (Susumu Zenba)
"竹仙人" <@discussions.microsoft.com> wrote in message
news:1E158D76-8743-4F13...@microsoft.com...
2007でのマクロの使用方法の概略は、
1)Alt+F11で、Visual Basic Editorの画面が出ます。
2)挿入 → 標準モジュールでコードを入力する画面がでます。
そこに下記のマクロをコピーして貼り付けます。
3)再度Alt+F11を押すと、標準の画面戻ります。
4)名前を付けて保存 → Excelマクロ有効ブックで保存します。
5)開発→セキュリティ → 信頼できる場所にあるディレクトリに先に保存したブッ
クを移動します。
このブックを開いて、データがあるブックを同一アプリケーション内で開きます。
開発 → マクロで、Right2Leftを選択して実行。
Sub Right2Left() '右並びを左並びに変換
Dim rng As Range
Dim s1 As String, ss() As String
Dim i As Long, l As Long, m As Long, n As Long, co As Long
n = Application.InputBox("一行の文字数を入力", Type:=2)
If n = 0 Then Exit Sub
For Each rng In Selection
s1 = Replace(rng.Value, Chr(10), "")
m = Len(s1)
co = Int(m / n)
ReDim ss(co)
l = 1
For i = 0 To co
ss(co - i) = Mid(s1, l, n) & Chr(10)
l = l + n
Next
ss(co) = Replace(ss(co), Chr(10), "")
rng.Value = Join(ss, "")
Next
End Sub
Sub Left2Right() 'Right2Leftで変換した文字列を元に戻す
Dim rng As Range
Dim s1 As String, ss() As String
Dim i As Long, l As Long, m As Long, n As Long, co As Long
n = Application.InputBox("一行の文字数を入力", Type:=1)
If n = 0 Then Exit Sub
For Each rng In Selection
s1 = Replace(rng.Value, Chr(10), "")
m = Len(s1)
co = Int(m / n)
ReDim ss(co)
l = m - n + 1
For i = 0 To co
ss(i) = Mid(s1, l, n) & Chr(10)
l = l - n
If l < 0 Then l = 1: n = m - n * co
Next
ss(co) = Replace(ss(co), Chr(10), "")
rng.Value = Join(ss, "")
Next
End Sub
ミス内容:文字数が一行の文字数より小さい場合エラーとなります。
また元に戻すマクロ Right2Left は複数セルに適用した場合正常に動作しない。
Sub Right2Left() '右並びを左並びに変換
Dim rng As Range
Dim s1 As String, ss() As String
Dim i As Long, l As Long, m As Long, n As Long, co As Long
n = Application.InputBox("一行の文字数を入力", Type:=2)
If n = 0 Then Exit Sub
For Each rng In Selection
s1 = Replace(rng.Value, Chr(10), "")
m = Len(s1)
co = Int(m / n)
If m > n Then
ReDim ss(co)
l = 1
For i = 0 To co
ss(co - i) = Mid(s1, l, n) & Chr(10)
l = l + n
Next
ss(co) = Replace(ss(co), Chr(10), "")
rng.Value = Join(ss, "")
End If
Next
End Sub
Sub Left2Right() 'Right2Leftで変換した文字列を元に戻す
Dim rng As Range
Dim s1 As String, ss() As String
Dim i As Long, l As Long, m As Long, n As Long, co As Long
Dim nn As Long
n = Application.InputBox("一行の文字数を入力", Type:=1)
nn = n
If n = 0 Then Exit Sub
For Each rng In Selection
s1 = Replace(rng.Value, Chr(10), "")
m = Len(s1)
co = Int(m / n)
If m > n Then
ReDim ss(co)
l = m - n + 1
For i = 0 To co
ss(i) = Mid(s1, l, n) & Chr(10)
l = l - n
If l < 0 Then l = 1: n = m - n * co
Next
ss(co) = Replace(ss(co), Chr(10), "")
rng.Value = Join(ss, "")
End If
n = nn
Next
End Sub
竹仙人 wrote:
> 感謝致します。
> マクロの文字を見て一瞬目の前が
> 真っ黒になりましたが、(55歳のオヤジギャグです)
"keiji kounoike" <"kounoike A | T ma.Pik" wrote:
私もほぼ竹仙人さんと同年代ですが、難しい言葉を知っているんですね。「君子
終日乾乾」初めて目にする言葉でなんの意味か分かりませんでした。
重ね重ねの回答ありがとうございます
お尋ねの件
易経の言葉です。物事を修め立派な人になろうと思ったら
終日、日夜を分かたず勉め励まなければならぬ。
要はもっとガンバロといった意味で私は使っています
因みにこの質問は、件の易経をエクセルで一枚の表にして
一般の人にも使いやすいものにならないかと思い始めました。
もっともそんな人は、ごく少数かもしれませんが。
ついでのついでにもう一つ質問があります。
エクセルの表自体を根本的に右から左にスクロールすることは可能でしょうか?
これができるとカッコいい表になるのですが。
"keiji kounoike" <"kounoike A | T ma.Pik" wrote:
それなら可能ですが、その場合、縦書きをした場合、わざわざ左から右へとセル
文字を並び替える意味がよく分かりませんが。(不自然な並びになるのでは)
レイアウトの反転方法は、Excel2003なら簡単にできるのですが、2007の場合、
説明するのが面倒なので、Google で”excel 右から左 ”で検索するといくつか出
てきますが、適当なのを選んで見てみて下さい。
竹仙人 wrote:
> keiji kounoikeさんへ
>
> ついでのついでにもう一つ質問があります。
> エクセルの表自体を根本的に右から左にスクロールすることは可能でしょうか?
> これができるとカッコいい表になるのですが。
>