Option Explicit Public Sub SetAllSheetZoom() Dim sZoom As String Dim oItem As Object Dim workSheetItem As Excel.Worksheet Dim lRatio As Long On Error GoTo ErrHandler: Do sZoom = InputBox("全シートに設定する表示倍率を入力してください。" _ & vbLf & " ※「%」などをつけず、数値のみ入力してください。", "表示倍率の設定", ActiveWindow.Zoom) If (Len(Trim$(sZoom)) = 0&) Then Exit Sub End If If (IsNumeric(sZoom)) Then lRatio = CLng(sZoom) Exit Do End If Call MsgBox("数値を入力してください", vbExclamation) Loop For Each oItem In Application.ActiveWorkbook.Sheets If (TypeOf oItem Is Excel.Worksheet) Then Set workSheetItem = oItem Call workSheetItem.Select ActiveWindow.Zoom = lRatio End If Next oItem Exit Sub ErrHandler: Call MsgBox("エラーが発生しました" _ & vbLf & " Source: " & Err.Source _ & vbLf & " Number: " & CStr(Err.Number) _ & vbLf & Err.Description, vbCritical) End Sub
いまさら何を言ってるんだ、って言われそうですが…。
Word で文書内に作成した表を選択して Delete キーを押下すると、表内の文字データのみが消えて、表自体は残ってしまいます。Delete はメニューでは [編集] → [クリア] に割り当てられており、表の削除はメニューで言うと [罫線] → [削除] → [表] で、こちらにはキーが割り当てられていません。仕様書や取説など、Word を使用する機会は大変多く、いちいちメニューから表を削除するのが面倒で、ずーっと「切り取り」してました。そう、Ctrl + X です。
現在、業務で使用しているのは Word 2000 ですが、表全体を選択した状態で、Delete キーでなく、Backspace キーで削除できることにさっき気付きました。
多分、後継バージョンもですよね ?
ちょう情けないです… orz
| A | B | C | |
|---|---|---|---|
| 1 | 7 | ||
| 2 | 3 | ||
| 3 | 4 | ||
| 4 | 3 |
{=SUM(IF(FREQUENCY($A$1:$A$4, $A$1:$A$4)>0, 1, 0))}
FREQUENCY は、1個目の配列の要素を2個目の配列でグループ化する関数で、戻されるのは2個目の配列要素でグループ化された1個目の配列中のデータ数。つまり上の例で行くと、
{4より大きく7以下の値の数; 3以下の値の数; 3より大きく4以下の値の数; 3以下の値の数; 7より大きい値の数}
という配列になる。この時、2個目の配列要素にダブりがあると、ダブった要素に対する結果は2回目以降は0が戻される。上の例は3がダブっているので、戻される配列は
{1; 2; 1; 0; 0}
となる。で、後は戻された配列について、0でないものの数を集計すると、前述の式になる。結果は3。
親戚よりヘルプコール。「ワードアートにいくら塗りつぶしの色を設定しても透明のまま」とのこと。???と思って行ってみると、ワードアートだけでなく、Word のすべての図形で塗りつぶしの色が表示されない。それらしい設定項目を探してもない。
結論を言うと、コントロールパネルの「ユーザー補助のオプション」→「画面」タブ→「ハイコントラストを使う」にチェックが入っていた。そんなの入れた覚えがないって言うけど、まあとにかく、そのチェックをはずせば元通りになりました。
でも、そんなとこの設定が Word の表示に関係あるなんて思わないよねぇ。
Office Xp からかな? Word を使おうとすると、日本語入力システムが頼みもしないのにナチュラルインプットに切り替わってしまうようになりました。 これ、何とかならないの?と思って、あれこれ設定をいじくっていたのですが、とりあえず、完全抹殺の方法は見つけました。
これで、文書の編集中に気づいたらナチュラルインプットになってしまっていて混乱することはなくなります。ただし、入力システムの選択肢から、ナチュラルインプットが完全に消えてしまい、たとえば Microsoft IME と ATOK のように一時的に切り替えて使用する、というようなこともできなくなります。両方が使える状態で、デフォルトをナチュラルインプット以外の入力システムにする方法は、まだ見つけられていません。
Excelで、別シートから1つの項目をキーにして、他の項目を参照したりするのに、VLOOKUP関数は便利だよね。
VLOOKUP(検索値,範囲,列番号,検索の型)
=IF($B2="","",VLOOKUP($B2,'項目一覧'!$A$1:$E$100,2,FALSE))
=IF($B2="","",VLOOKUP($B2,'項目一覧'!$A$1:$E$100,3,FALSE))
=IF($B2="","",VLOOKUP($B2,'項目一覧'!$A$1:$E$100,4,FALSE))
シートのUnprotectメソッドは、先にRange("A1").Selectなどして、
セルを再選択しておいた方が安全
また、ClearContents等のメソッドを呼び出すまえに、そのシートをアクティブにしておいた方がよいみたい。
見開きページのページ番号を、奇数ページは左、偶数ページは右というように指定する方法。
こういうの、すぐ忘れちゃうんだよね。
ページ設定>その他>ヘッダーとフッター>
奇数/偶数ページ別指定(O)にチェックを入れます。
これでヘッダー・フッター編集モードで奇数ページと偶数ページが別々に編集できるようになるの。
あとは右揃え・左揃えに設定するだけです。