人気ブログランキング | 話題のタグを見る

テキストボックス内を任意の行間

テキストボックス内に文字を多数入力すると、通常は下図のように入って行く。
テキストボックス内を任意の行間_e0080122_1012481.gif

ピタッとした行間で文章が読みづらい場合は、テキストボックスの書式設定を使用してこれを任意の幅に変えてみる。
テキストボックス内を任意の行間_e0080122_10151170.gif

テキストボックスをダブルクリックなどして、テキストボックスの書式設定を表示させる。
配置タブ → 縦位置(均等割り付け) に変更する。
複数行の場合、両端揃えでもあまり結果は変わりないが。。。
テキストボックス内を任意の行間_e0080122_10211126.gif

このように、テキストボックス内での行間が広がる。
もちろん後でテキストボックスを縦方向にサイズ変更しても、その範囲内で行間が広がるので便利だ。
# by slayer0210 | 2006-03-20 10:23 | エクセル一般

テキストボックスのサイズ調整

文字を入力する際に、セルに入力するのではなく、テキストボックスに文字を入力して
それを自由にレイアウトする場合が多々ある。
テキストボックスボタンをクリックして、シート上でドラッグするとテキストボックスは作成されるが
その際のテキストボックスは、塗りつぶしの色が白、線の色は自動になってると思う。

しかし、シート上でドラッグするのではなく、クリックして作成したテキストボックスは、塗りつぶしの色がなし、線の色もなしになっている。(自分のPCだけだろうか・・・?)
オマケに文字列の長さに応じて自動でサイズも変更してくれるので非常に便利だ。
テキストボックスのサイズ調整_e0080122_821193.gif

# by slayer0210 | 2006-03-17 08:22 | エクセル一般

任意でシート名を並べ替える

先日の話。自分が扱ってるエクセルブックで、やたらにシート数が多いものがある。
自分なりの使い勝手を考えて、任意で並べ替えようと思い、簡単なマクロを作ってみた。

Sub シート名を表示()
 Dim zWS As Worksheet
 Dim myWS As Worksheet
 Set zWS = Sheets.Add(before:=Sheets(1))
 zWS.Name = "暫定"
   For Each myWS In Worksheets
     If myWS.Name <> "暫定" Then
       Sheets("暫定").Range("a65536").End(xlUp).Offset(1) = myWS.Name
     End If
   Next
    Rows(1).Delete
End Sub

とりあえず、上記のマクロを実行すれば下図のように現在のシート名が暫定シートに表示される。
その後、暫定シートのA列に表示されたシート名を任意で並べる。
任意でシート名を並べ替える_e0080122_7284153.gif

並べ替えが完了したら、以下のマクロを実行してみた。

Sub シートの並べ替え()
 Dim myWS As Worksheet
 Dim zWS As Worksheet
 Dim i As Integer
  Set zWS = Sheets("暫定")
    For i = 1 To zWS.Range("A1").CurrentRegion.Rows.Count
      Sheets(zWS.Cells(i, 1).Value).Move before:=Sheets(i)
    Next
   Application.DisplayAlerts = False
     zWS.Delete
   Application.DisplayAlerts = True
End Sub
任意でシート名を並べ替える_e0080122_736351.gif

任意にシート名が並べ替えられた。
ま、構文的にどうかは別として目的のものが出来たのでよしとする。
# by slayer0210 | 2006-03-16 07:38 | マクロ

IndexとMatchを使用した表

Index関数、Match関数の組み合わせは意外と便利だったりする。
今回は、下図のような料金表を作ってみた。
IndexとMatchを使用した表_e0080122_9593626.gif

C11に行の検索値である任意のメニューを入力し(この場合はカツカレー)
D11に列の検索値の"普通盛"や"大盛"などの文字を入力する。
これらの文字列を表から検索し、料金を表示させてみた。

E11に『=INDEX(C3:E9,MATCH(C11,B3:B9,0),MATCH(D11,C2:E2,0))』と入力すれば、料金が表示されてくる。
ちょっと地味だが、意外と便利だ。
# by slayer0210 | 2006-03-10 10:06 | エクセル一般

市外局番を括弧の中に

今現在、住所録をまとめているが、その時に「市外局番だけは括弧の中に表示させたいが・・・」と言われた。
今までは『×××-×××-××××』のような形式で表示されていて、それを『(×××)×××-××××』
に変更せねばいけないようだ。
市外局番を括弧の中に_e0080122_14523524.gif

こんなときはSUBSTITUTE関数を使うと便利だった。
上図で簡単に説明すると、任意のセル(この場合はD3)に
="(" & SUBSTITUTE(C3,"-",") ",1)』と数式を入れる。
すると、市外局番が見事に括弧の中に納まった。

ここでポイントなのは、この数式で指定している『1』だが、これは検索対象1番目の文字列だけを置き換える、という意味だ。
# by slayer0210 | 2006-03-09 15:00 | エクセル一般