DXR165の備忘録

自分用の備忘録です。

セルの値を更新したときに何か処理をする  

Exel VBAネタです。

シートごとに設定する場合の例
ワークシートのイベントプロシージャに処理を記述する。

Private Sub Worksheet_Change(ByVal Target As Range)
  If Target.Column = 1 Then
    Target.Offset(0, 1).Value = Now
    Target.Offset(0, 2).Value = Target.Count
  End If
End Sub

category: Excel全般

tb: 0   cm: 0

Word 設定した書式を確認するには  

Wordの文章に設定した書式を確認するには、確認したい文字の左側にカーソルを置き、Shift + F1キーを押す。

category: Word全般

tb: 0   cm: 0

Excel 可視セルの選択  

オートフィルタなどで絞り込んだ結果の状態でコピーしたいときは、コピーした部分を範囲選択して、

Alt + ; セミコロン

を押すと、可視部分だけ選択される。

そんなことしなくても、見えてる部分だけコピーされるとお思いの方たくさん、いらしゃると思います。ところが、百発百中にならないのが、アプリ(ソフトウェアー)の世界です。そんなとき、この方法をお試し下さい。

category: Excel全般

tb: 0   cm: 0

Word 標準 文字間隔 行間隔  

初期設定では

1文字 10.5 pt
1行  18 pt

グリッド線表示設定 ページレイアウト 配置タブ 配置グループ 配置 グリッドの設定 

category: Word全般

tb: 0   cm: 0

ラベル印刷をパソコンで作成する方法  

ビジネスでも家庭でもラベル印刷の需要は多いようです。ビジネスでは顧客にダイレクトメールを発送するときに宛名ラベルを印刷しないといけまませんし、家庭でも,趣味のサークル員に案内を送るなど、いろんな場面でラベル印刷は必要になることがあります。宛名の数が5、6人なら手書きで封書に書けば済みますが、2、30人ぐらいになると時間がかなりかかりますし、気力的にもウンザリです。さらに一定量の宛名書きが定型作業となれば手書きは現実的ではありません。そこで、パソコンでのラベル印刷を検討してみてはいかかでしょう?

パソコンでラベル印刷する方法はいくつかります。

----------------------------------------------
ワード(Word)の差し込み印刷機能を使う。

エクセル(Excel)のラベル印刷ウィザードを使う。(Excel 2007以降、アドイン登録必要)

アクセス(Access)にデータをインポートし、レポートで作成する。

ラベルメーカーの無料提供の印刷ソフト

市販のラベル印刷専用ソフト
----------------------------------------------

と選択肢はたくさんありあます。
私の一番オススメはワード(Word)の差し込み印刷機能です。理由は

----------------------------------------------
市販パソコンなどではすでにインストールされているので、追加でソフトを購入する必要がない。

企業のパソコンでは勝手にソフトをインストールできないので、既存オフィスを使うしかない。

詳しい情報はネットにたくさんある。

日本で市販されている一般的なラベルに対応していると思われる。

一度、操作を覚えておくと、ワード(Word)は多くのパソコンにインストールされているので、いざ必要というときどこでも使える可能性が高い。

差し込み印刷機能ではラベル印刷以外に「定型文章に名前を差し込み」や「はがき・封書の宛名」や「電子メール作成」などがあり、差し込み印刷の操作を1つ覚えることでこれらのことも応用が利く。
----------------------------------------------

などです。Word 2003までは使いにくかったのですが、2007以降はだいぶ改善されました。ぜひ、みなさんもWordの差し込み印刷でラベル印刷をしてみてください。

category: 差し込み・ラベル印刷

tb: 0   cm: 0

差し込み印刷を繰り返し行うとき  

毎週の月曜日には、1週間分の新会員Excelデータで所定の宛名ラベルを印刷するなど、毎回、データソースが更新される場合の差し込み印刷の手順


1、初回はこの方法で作成→Excel データを Wordで差し込み印刷

2、「結果のプレビュー」(Word 2003 は「差し込んだデータの表示」)を表示しない状態で文章を保存する。 この状態にしておくことで、保存後にこの文章を開いたときに、この文章が通常の文章ではなく、差し込み印刷のひな形であることがわかりやすくなります。

3、初回で設定したExcelのファイル名とパスを記録しておく。

4、2回目以降は更新されたファイルを同じパス、ファイル名、シート名、列名(フィールド名)で作成する。

5、保存した文章を開く、このとき、「データベースからデータが文章に挿入されます。続行しますか?」と聞いてくるので「はい」を選択する。

6、「結果のプレビュー」(Word 2003 は「差し込んだデータの表示」)で内容を確認し、OKなら印刷する。


関連情報
差し込み印刷のデータソースはExcelで作成した一覧表などが多いと思います。この時の表の列名(氏名、住所など)が差し込み印刷フィールドの名前と連動しているようです。

差し込み印刷を設定した文章でどのようなデータが設定されているか確認するには、「アドレス帳の編集」コマンドで表示されるダイアログのデータソースでファイル名がわかります(Word 2007以降の場合)。

パスまで確認するには

Alt + F11 でVBEを起動し、次に Ctrl + G でイミディエイト ウィンドウを表示し
? ActiveDocument.MailMerge.DataSource.ConnectString  と入力し、Enterキー押下すると、情報が表示されます。
その中のData Source=以降にパスとファイル名が表示されています。イミディエイト ウィンドウに入力する文字列の最初は半角の?で、次は半角スペースです。

category: 差し込み・ラベル印刷

tb: 0   cm: 0

基本の技 検索と置換 ブック全体/すべて検索編  

Excelの基本の技 検索と置換 これらの機能の中で「すべて検索」「ブック全体」の使い方を知っておけば、検索については事足れりと思います。Excel 95など初期のExcelではこの「検索と置換」はあまり使い勝手がよくなく、使えない機能と思っていらっしゃる方も多いのではないでしょうか。

月別や地域別、事業所別など同じフォーマットのシートを複数作成しデータ作るケースは実務でよくあります。このようなとき、シート一つ一つを検索しなくても、ブック全体を検索する方法があります。

その方法は?
Ctrl + F で「検索と置換」ダイアログボックスを表示させる。検索と置換ダイアログボックスにて「オプション」をクリックし、検索場所を「ブック」にして「すべて検索」をクリックします。すると、このダイアログボックスの下に検索結果の一覧が出力されます。

注意事項
検索場所を「シート」に指定しているときは、そのシートで2つ以上のセルが選択されていると、その範囲内での検索となります。しかし、検索場所を「ブック」に指定した場合は、ブック内に2つ以上のセルが選択されているシートがあっても、そのシートではセルの選択範囲のみの検索とならず、シートのすべてのセルが検索されます。2014/12/21修正

「次を検索」ボタンは検索の開始、終了がわかりにくく、使いづらいです。
Excel 2000以前では「すべて検索」「ブック全体」の機能はないそうです。

category: Excel全般

tb: 0   cm: 0

MS-Query とは  

Office に付属するツールで、主にExcelにODBCを経由しDBMSからデータを取得する役割を担っています。Excel 2010ではAccessからデータを取得する場合は専用の機能が設けられています。また、SQL Serverにも専用のデータ取得機能があます。また、汎用的に外部データを取り込む方法にOLE DB経由も用意されいます。ですので、MS-Queryを使うケースはOLE DBプロバイダーがなく、ODBCブロバイダーのみ提供されているDBMSからデータを取得する場合と思われます。

category: Excel全般

tb: 0   cm: 0

Excel グラフ 系列・項目とは  

エクセルのグラフ作成では系列・項目この2つ言葉を覚えればOKです。

たとえば日別の大阪、京都、奈良の最低気温の推移を見るとき、

   大阪 京都 奈良
12/1  6  5  5
12/2  7  6  6
12/3  6  4  3
12/4  5  5  4
12/5  8  6  5

のような表があるとき

各都市の列のデータが系列になります。変化の比較・推移に着目するデータの集まりを系列と考えればいいのではないでしょうか。Y軸には系列のデータをプロットする数値軸が設定されます。この例では気温になります。データ系列は複数指定できます。
系列にならなかった方が項目になり、X軸に配置されます。上の例では日付が項目になります。

グラフウィザードなどでは、表を自動判定し、系列・項目が決まりますが、あとで、系列・項目は簡単に入れ替えができます。

系列ごとに違うグラフの種類(棒グラフと折れ線グラフ)を指定でき、第2のY軸も使用できます。

category: Excel全般

tb: 0   cm: 0

Excel ページ設定 異なるハードウェア環境  

[ページ設定] で設定した用紙サイズは、異なるハードウェア環境 (コンピュータ、プリンタ、プリンタ ドライバなど) で印刷を実行する場合にも有効となります。

しかし、プリンタ ドライバによっては、プリンタ、またはプリンタ ドライバが、設定した用紙サイズに対応している場合でも、[用紙サイズ] ドロップダウン リストは空白になり、既定の用紙サイズで印刷される場合があります。

category: Excel全般

tb: 0   cm: 0

Excel ページ設定  

Excel ページ設定
ワークシート単位で印刷の向きや用紙サイズなどが設定でき、ブックに保持されます。

category: Excel全般

tb: 0   cm: 0

Excel ピボットテーブルをSQL GROUP BY的に使う  

Excel で使わないと「もったいない」機能の代表である「ピボットテーブル」ですが、こんな使い方もできます。

Access のクエリでのグループ化、その合計、カウントなどを行う機能がExcel のピボットテーブルに備わっています。


列ラベルは使いません。値フィールドには合計やカウントしたいフィールドを指定します。行ラベルには集約をかけたあとに表示したいフィールドを指定します。このとき、行ラベルに複数のフィールドを配置すると小計が自動で表示されることがありますが、「フィールドの設定」で非表示にできます。こうして、行ラベルにフィールドを追加していくと、「普通の表」のようになります。ピボットテーブル全体を選択・コピーして、任意のシートに貼り付け、あとは自由に加工します。

わざわざ、Access に取り込んで、面倒なことをしなくて済みます。いいね!ピボットテーブル。


Excel 2003 では行ラベルにフィールドを追加すると、既定では表形式になります。
Excel 2007 以降は行ラベルにフィールドを追加すると、既定ではアウトライン表示になりますので、、「フィールドの設定」で表形式の表示に切り替えてください。

category: Excel全般

tb: 0   cm: 0

ラベル印刷 フチなし レーザープリンター  

ビジネスに必須のラベル印刷ですが、レーザープリンターで印刷する際は注意が必要です。

市販のラベルシートにはフチなし印刷対応のインクジェットプリンター用の左右に余白がないタイプがあり、これはレーザープリンターには適しません。現在、私の知る限りでは「レーザープリンターは左右の余白をゼロにすることはできない」のです。ですので、ラベルを購入する際は左右に余白があるものを購入しないといけません。店頭には同じメーカーでもたくさんの種類のラベルシートが並んでいて、どれを選んだらいいか迷っていしまいます。事前にネットで調べておくのがいいようです。

ラベルシートを印刷するまえに普通紙でテストして、印字位置を確認します。
トレーは「手差しトレー」が無難です。ページ指定で1ページだけ印刷するようにして、まず1ベージ分のラベルシートを印刷して、印字位置、通り具合をテストします。くれぐれもシールがはがれて、プリンター内部に張り付くことのないよう細心の注意を払ってください。もし、そうなったら、復旧には修理に来てもらうことになります。印刷のまえに必ず、プリンターのマニュアルををご覧ください。

category: 差し込み・ラベル印刷

tb: 0   cm: 0

Excel ラベル印刷ウィザード  

Excel 2007 以降ではラベル印刷ウィザードが使えるようです。ラベル印刷ウィザードを使うには、最初の一回だけ、アドインの登録作業が必要です。

Excel ラベル印刷ウィザードを使ってみて

1. データの絞り込み機能がない。

2. 市販ラベルのテンプレートの数が少ない

3. レイアウトは自由に配置でき、図形も挿入できる。

4. 印刷設定が保存できない。


まとめ

従来から手慣れたWord 差し込み印刷の方がいいと思います。Wordがない人向け。


2012/10/25追記
Office 2003をお使いの皆様はラベル印刷ウィザードは使えませんので、Wordの差し込み印刷機能をお使いください。あまり知られていないことのようで、宛名ラベル、ハガキなども差し込み印刷でExcelデータをもとに作成できます。Accessよりも簡単ですし、凝ったことをしないようなケースでは適していると思われます。ただし、Wordが必要ですが、今のご時世、Excelがあれば当然Wordが入っていますよね。

category: 差し込み・ラベル印刷

tb: 0   cm: 0

Excel UserForm をDBのフロントエンドに  

Excel のUserForm はAccess のフォームと比べると機能の面ではかなり簡素です。本来はエクセルを操作する上でのユーザーダイアログボックスを作るのが目的のようですから。しかし、そのUserForm は一般的なコントロールも配置できるし、基本的なイベントも備えています。DAO ADO でコーディングしてAccess のMDB ACCDBのレコードの基本操作ならできそうです。

category: Excel全般

tb: 0   cm: 0

Excel 横に長い表で横スクロール  

縦スクロールはマウスのホイール(今はほとんどのマウスでついている)で直感的にできますが、横スクロールはショートカット キー ALT + PAGEUP(PAGEDOWN)で対応

category: Excel全般

tb: 0   cm: 0

Excel VBA セルが選択されたとき何かする  

特定のワークシートでセルが選択されたときに処理をしたいときはWorksheeet オブジェクトのSelectionChange イベントを使う。

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
MsgBox Target.Address()
End Sub

category: Excel全般

tb: 0   cm: 0

Excel ユーザー設定のビューって定型印刷に便利  

ルーチンで表を加工し印刷する際にその状態の表のレイアアウトと印刷設定などをユーザー設定のビューとしてブック内に保存できます。使う際のポイントは加工前の状態もビューとして「すべて表示」などの名前で保存しておくと、初期状態を必要な時にすぐに戻すことが出来て便利です。

category: Excel全般

tb: 0   cm: 0

Excel 「図としてコピー ⇒ 貼り付け」 と 「コピー ⇒ 図の貼り付け」  

両方とも結果は同じです。しかし、「図としてコピー ⇒ 貼り付け」の方はコピーする際に表示・形式のオプションが設定できます。また、「コピー ⇒ 図の貼り付け」の場合は貼り付け時にコピー元とリンクさせることもできます。

category: Excel全般

tb: 0   cm: 0

Excel オートフィルタ オプションの抽出条件で*自体を条件にしたい  

*自体を条件にするには*(実際には半角のアスタリスク)の前に~(半角のチルダ)をつける。

category: Excel全般

tb: 0   cm: 0

差し込み印刷のメイン文書の設定で、「標準のWord文章」はどのようなときに使うのか  

Wordの差し込み印刷で定型書簡を作成するときにメイン文章の種類は「レター」にします。宛名ラベルのときは「ラベル」です。では「標準のWord文章」はどのようなときに使うのでしょうか。データファイルから切り離して、普通の文章として保存する場合に選択します。

category: 差し込み・ラベル印刷

tb: 0   cm: 0

差し込み印刷の文書を開くと 「次の SQL コマンドが実行されます」と表示  

Wordで差し込み印刷のフィールードを埋め込んで、Word文章を保存し、再び開くと上のようなメッセージがでます。これはセキュリティーの関係でわざと出るようになっているそうです。差し込み印刷をする場合は「はい」をクリックします。SQLが発行され、データファイルからデータが取り込まれます。このメッセージを表示したくない場合はレジストリの設定を変更する必要があります。

category: 差し込み・ラベル印刷

tb: 0   cm: 0

四捨五入  

小数点第位で四捨五入する場合は =ROUND(A1,0)

小数点第位で四捨五入する場合は =ROUND(A1,1)

小数点第位で四捨五入する場合は =ROUND(A1,2)

category: Excel ワークシート関数

tb: 0   cm: 0

ゼロパッディング  

社員コードなど文字列として000255のような6桁データがある場合、照合の際、比較対象が255などの数値であるとき前に000を埋めて文字列として変換する必要があります。0で埋めることをゼロパディングと呼ばれいるようです。


=TEXT(A1,"000000")

category: Excel ワークシート関数

tb: 0   cm: 0

Excel 名前機能は便利  

名前を定義する方法
名前ボックスが手軽便利です。セルを範囲選択し、名前ボックスに名前を入れENTERキーを押す。
このときできる名前は絶対参照形式でブックレベルになります。

category: Excel全般

tb: 0   cm: 0

Excel データをExcel VBAで差し込み印刷  

ExcelデータをWordで差し込み印刷する方法は手軽ですが、応用が利かない、Wordがいるなどの難点があります。Excelだけ実現しようとすると多少のVBAの知識が必要です。

印刷用シート (p)
データ用シート (data)
表のセル範囲 ("B2:G6")  タイトル行は含みません。

---------------------------------------------------------------------------------------
Dim n As Long
Dim rec_count As Long
Dim myRange_Table As Range

Set myRange_Table = Worksheets("data").Range("B2:G6")
rec_count = myRange_Table.Rows.Count

For n = 1 To rec_count
    Worksheets("p").Range("C10").Value = WorksheetFunction.Index(myRange_Table, n, 2)
    'データ用シートからINDEX関数でnレコード目の2列目のフィールドを印刷用シートのセルにセット
    Worksheets("p").PrintOut
Next n
---------------------------------------------------------------------------------------


category: 差し込み・ラベル印刷

tb: 0   cm: 0

VLOOKUP関数  

完全一致はFALSE
=VLOOKUP(J3,$A$2:$B$8,2,FALSE)

範囲にはタイトル行(列見出しが表示されている)を含めない。
検索値が重複して存在するときは、表内で上にあるレコードから取り込まれる。

category: Excel ワークシート関数

tb: 0   cm: 0

Excel VBA のメリット  

ネットで通信できる。MDACでAccessなしでもDBを扱える。

category: Excel全般

tb: 0   cm: 0

Excel での時間計算  

Excel で時間計算をする際によく問題になるのが、マイナスの表示ができないこと。実務ではたまに遭遇します。例えば、従業員の終業時間の変化を計算する場合、3月平均は18:00時で終わっていたのが、4月では17:47時で終わるようになった。その差を求める場合18:00-17:47で-13としたい場合など。

Excelのオプションの設定を変更すれば、できますが、そうしたくない場合などは次のようにしています。

IF(E13-F13<=0,TEXT(ABS(E13-F13),"-h:mm"),TEXT(E13-F13,"h:mm"))

E13は3月平均終業時間 F13は4月平均終業時間

category: Excel全般

tb: 0   cm: 0

Excel データを Wordで差し込み印刷  

Excelで作成した表形式のデータを1行ずつWordのひな型の文章に印刷するときに、Wordの差し込み印刷機能を使います。 慣れれば簡単なのですが、最初はとっつきにくです。
 
Word2003の場合
差し込み印刷ツールバーで設定する方法が便利で、応用が利きます。差し込み印刷ウィザードはちょっとクセがあり使用される用語(宛名、宛先、レターなど)から機能が連想しにくいため使いにくいです。

まず、元になる文章を開きます。

差し込み印刷ツールバーを表示します。 最初は必要最小限のボタンを表示設定しているが、▼をクリック すると自由に設定できます。

メイン文書の設定ボタンでメイン文書の種類を「レター」にします。

データソースを開くボタンをクリックし、もとになるエクセルのファイルの場所とシートを指定します。

差し込み印刷フィールドの挿入ボタンをクリックし、フィールドを挿入します(先に挿入する位置にカーソールをもっていく)

差し込んだデータの表示ボタンをクリックし、表示を確認します。 問題なければ、プリンタに差し込みボタンをクリックし印刷


Word 2007以降
基本的にWord 2003の時と同じですが、リボン方式になったため、「差し込み文章タブ」のコマンドを上の手順を参考に設定してください。


関連情報

メイン文章の種類(実務でよく使うもの)

レター : 1データにつき1ページ印刷するときに使います。案内状の宛名など
ラベル : ずばり宛名ラベルを印刷します。実務では必須ですね。

ラベルか封筒に直に印刷かで悩むとことです。ラベルは手軽ですが、ラベルを一枚一枚貼る手間が必要です。プリンターに負荷が少ないようでしたら、テストしてから慎重に封筒での印刷を考えてもいいと思います。

メイン文章の種類で「名簿」がありますが、レターとの違いは1データが1行に印刷できるところにあります。実際のところ必要ケースはあまりないようです。

差し込み印刷はWordの文章の中にフィールドコードというExcelの関数のような命令を植え込むことで実現しています。
Alt キーを押しながら F9 キーを押すと、フィールド コードが表示されます。


参考ホームページ は「よねさんのWord とExcel の小部屋」「趣味のパソコン WORD応用」 「インストラクターのネタ帳」

変更履歴
2013/09/09 Word 2007以降に対応した内容に修正



category: 差し込み・ラベル印刷

tb: 0   cm: 0

Excelのバージョン  

EXCEL 95 バージョン 7.0
EXCEL 97 バージョン 8.0
EXCEL 2000 バージョン 9.0
EXCEL 2002 バージョン 10.0
EXCEL 2003 バージョン 11.0
EXCEL 2007 バージョン 12.0
EXCEL 2010 バージョン 14.0

バージョン 13 はやはり欠番なのでしょうか?

ちなみにバージョンを表示するワークシート関数はINFO("RELEASE")です。

アプリケーションとしてのバージョンの他に、Excelで作成したファイルの形式(ブック形式)もあります。

ブック形式
5.0/95 形式→Excel95時代、もうさすがに見かけなくなりました。
97-2003 形式→Excel 2003世代。まだまだ、見かけます。

category: Excel全般

tb: 0   cm: 0

Excel データ分析機能  

データテーブル シナリオ ゴールシーク ソルバー(アドイン)といろいろありますが、私が実際に使う可能性のあるのは、ゴールシークぐらいでしょうか?

category: Excel全般

tb: 0   cm: 0

Excel ショートカット キー  

私が、便利と思うものをいくつか。

現在選択されているセルの行全体を削除するとき、まずShiftとスペースで行全体を選択し,Ctrlと-(ハイフン)で行全体が削除されます。気持ちいい素早さです

category: Excel全般

tb: 0   cm: 0

Excel で重複チェック COUNTIF関数  

条件付き書式に設定  =COUNTIF(C$5:C$7,C5)>1

category: Excel ワークシート関数

tb: 0   cm: 0

Excel での表引きワークシート関数  

Excel での表引き というと社員コードから社員名を取得するみたいなことですが、これを実現する関数はいくつかあります。

VLOOKUP
実務でもっともよく使います。1つの一意なコードからそのレコードの1フィールドを取得する場合に使います。

=VLOOKUP(J3,$A$2:$B$8,2,FALSE) 
備考
検索キーがない場合エラーがでる。 
検索する列が一番左にないといけない。
検索キーが重複しないことが条件。
範囲にはタイトル行を含めない。

MATCH & INDEX
VLOOKUPより融通がきくが、式が複雑になる。いざ使おうとすると、なかなか使いづらい。

=INDEX(B2:B8,MATCH(E3,A2:A8,0))
備考
検索キーがない場合エラーがでる。
値を返す列はどこでもよい。
検索キーが重複しないことが条件。
範囲にはタイトル行を含めない。

DGET
検索条件を別途ワークシートに入力が必要です。そのため上記関数のように表形式に埋め込んで使えません。
備考
複雑な検索条件に対応できる。
条件に一致するデータが存在しないとエラーがでる。
条件に一致するデータが複数あるとエラーがでる。


使い物になるかどうか分からないですが、作ってみました。(趣味の世界)
複数列の検索条件に対応できる。
条件に一致するデータが存在しないとエラーが出るか、または、この計算式が参照表と同じ行にある場合、全く関係のない値が返される(この行の参照列の値が返される)。
条件に一致するデータが複数あると違う値を拾ったり、エラーがでる。

=INDEX(獲得列,SUMPRODUCT(
(検索列1=検索値1)*(検索列2=検索値2)*
(ROW(INDIRECT("1:"&ROWS(獲得列))))
)
)


範囲にはタイトル行を含めない。
検索値が1つの時は(検索列1=検索値1)*(検索列1=検索値1)にする。

検索列、獲得列はA2:A100のように列の範囲で指定する。
検索値はF5など検索値が入ったセルを指定する。

SUMPRODUCT 関数は共通部分参照が最初から無効なのでCtl + Shift + Enter は不要だそうです。

category: Excel ワークシート関数

tb: 0   cm: 0

プロフィール

最新コメント

カウンター(2012/3/10以降)