Home Authors Posts by best

401 ポスト 0 コメント

企業研修講師派遣のBESTグループ
出張パソコン教室ITスクール
webコンサルティングスクール
パソコンの家庭教師BEST

0 6403

[ページレイアウト]タブの「ページの背景」グループにある[透かし]→[ユーザー設定の透かし]を実行します。

「図」にチェックを入れ、[図の選択]ボタンをクリックします。

写真を選択します。

背景に(透かしとして)写真が挿入されました。
 

0 8612

▼ユーザー定義書式「_ \* #,##0.00_ ;_ \* -#,##0.00_ ;_ \* “-”??_ ;_ @_ 」の意味

数値の先頭に「\」マークをつけ
 桁区切りカンマを表示し
  小数点以下2桁まで必ず表示する

マイナスの数値の場合は
 数値の直前に「-」を表示する

0の場合は
 小数点と同じ位置に「-」を表示する

列幅が広い場合
 「\」と数値や「-」の間に隙間をあける

文字列の場合は
 入力された文字をそのまま表示する

「\」の左側と数値の右側
 文字列の場合入力された文字列の左側
  に半角スペースと同じ幅の隙間をあける

「_ \* #,##0.00_ ;_ \* -#,##0.00_ ;_ \* “-”??_ ;_ @_ 」をあえて言葉で説明しようとすると上記のような感じになりますが、その状態をご確認いただくほうが早いでしょう。

上図は、A1:A4セルに「_ \* #,##0.00_ ;_ \* -#,##0.00_ ;_ \* “-”??_ ;_ @_ 」を設定して、「12345」「-12345」「0」「abc」とそれぞれ入力した状態です。

結果がこのようになるのはいいとして、Excelをちゃんと使いこなそうという方は
「_ \* #,##0.00_ ;_ \* -#,##0.00_ ;_ \* “-”??_ ;_ @_ 」
のそれぞれの記号が何を意味しているのかをご理解ください。

正の数・負の数・「0」(ゼロ)・文字をセルにそれぞれ入力し、上記のユーザー定義書式を設定して、表示状態を確認しつつ意味を考えていただくといいでしょう。

まず最初に理解すべきは、「;」(セミコロン)が区切りになっていて、
 1つ目の「;」の前が正の数
 2つ目の「;」の前が負の数
 3つ目の「;」の前が0
 3つ目の「;」の後が文字列
の表示形式を表しているということです。

つまり、「_ \* #,##0.00_ ;_ \* -#,##0.00_ ;_ \* “-”??_ ;_ @_ 」の場合
 「_ \* #,##0.00_ 」が正の数
 「_ \* -#,##0.00_ 」が負の数
 「_ \* “-”??_ 」が0
 「_ @_ 」が文字列
をそれぞれ表しているということです。

これらの書式の中で、一番根幹に関わる部分をまずは理解してください。
プラスの数の「_ \* #,##0.00_ 」
マイナスの数の「_ \* -#,##0.00_ 」
に出てくる、
「#,##0.00」
の部分です。

「#,##0.00」

「.00」
が、小数点以下は2桁まで必ず表示しなさいという指示で、
「#,##0」
が、整数部分は3桁区切りカンマを表示しなさいという指示です。

負の数の場合は
「-#,##0.00」と
「#,##0.00」
の前に「-」がついていますから、先頭に「-」を付けて、小数点以下は2桁という指示です。
 

[セルの書式設定]ダイアログ-[配置]タブ-[文字の制御]欄に[折り返して全体を表示する]というチェックボックスがあります。

[折り返して全体を表示する]チェックボックスがOnになっていると、セルにたくさんの文字列が入力されているときなどに、文字列がセル内で改行されて表示されるようになります。

セルの幅が広くないときなどにセル内改行されると、非常に見づらい状態になることもあり、自動的に折り返して全体を表示してほしくないという要望が出てくることもうなずけます。

原因は、[折り返して全体を表示する]チェックボックスが、自動的にOnになるようなケースがあるということでしょう。

例えば、改行を含んだ文字列をコピーアンドペーストしたときや、セル内改行するために[Alt]+[Enter]キーを利用したときなどです。このようなときに[折り返して全体を表示する]チェックボックスは自動的にOnになります。

この自動的にOnになる機能を止められればいいのでしょうが、残念ながらこの仕様は、オプション設定などで変えられるようなものではなさそうです。

ただし一つの解決策として、イベントプロシージャを利用して[折り返して全体を表示する]チェックボックスを、強制的にOffにしてしまうという方法が考えられます。

▼セルの値変更後に折り返して全体を表示するをOffにするイベントプロシージャ

Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)

 Target.WrapText = False

End Sub

Workbook_SheetChangeイベントプロシージャは、セルの値などが変更されたときに実行されるイベントプロシージャです。

勝手に[折り返して全体を表示する]チェックボックスがOnにならないようにしたいExcelファイルに、このWorkbook_SheetChangeイベントプロシージャを作成しておけば、勝手に折り返して全体を表示されないようになります。

やってることは、更新されたセルのWrapTextプロパティをFalseにすることだけです。

[Alt]+[Enter]キーが押されると、WrapTextプロパティがTrueになり、折り返して全体を表示するようになってしまうわけですから、イベントプロシージャで強制的にFalseにしてしまうという考えです。

▼サンプルファイル(003575.xls 42KByte)ダウンロード

サンプルファイルには上記のイベントプロシージャが作成してあります。

文字を入力して、[Alt]+[Enter]でセル内改行をしても、[折り返して全体を表示する]チェックボックスがOnにならないことなどをご確認ください。
 

VBA(Visual Basic for Applications)を使いこなしているレベルの方なら、他にも簡単にハイパーリンクを一括で削除する方法がありますので、ご紹介しておきます。

VBE(Visual Basic Editor)の[イミディエイト]ウィンドウからコードを実行することで、ハイパーリンクの一括削除ができます。

▼操作手順:アクティブシートのハイパーリンクを一括削除する
[Alt]キー+[F11]キーを押してVBEを起動
 ↓
[Ctrl]キー+[G]キーを押して[イミディエイト]ウィンドウを表示
 ↓
[イミディエイト]ウィンドウに
 「activesheet.hyperlinks.delete」と入力して[Enter]キーを押す

「activesheet.hyperlinks.delete」
というコードだけで、アクティブシートのハイパーリンクがすべて削除されます。
 

▼任意のワークシートのセルを参照するユーザー定義関数
Function RefSheet(objCell As Range, intRef As Integer) As Variant

 Application.Volatile
 RefSheet = Sheets(objCell.Parent.Index + intRef).Range(objCell.Address).Value

End Function

今回のユーザー定義関数では、どのセルを参照するのかと、どのワークシートを参照するのかを指定するために、引数は2つです。

1つ目の引数:objCellはセルを指定してください。
2つ目の引数:intRefはどのシートを参照するか整数で指定してください。

「-1」なら1つ左隣
「-2」なら2つ左隣
「1」なら1つ右隣
「2」なら2つ右隣
のシートを参照します。

objCell.Parent.Indexで、ユーザー定義関数:RefSheetを呼んでいるシートが何番目にあるかを取得できます。