アフィリエイト広告を利用しています
ファン
最新記事
カテゴリーアーカイブ
日別アーカイブ

広告

この広告は30日以上更新がないブログに表示されております。
新規記事の投稿を行うことで、非表示にすることが可能です。
posted by fanblog

2016年11月11日

エクセル,技,カレンダー作成

マイクロソフトアクセスのまとめ記事はこちら

人気ブログランキングへ





【閑話休題】

先日職場の方より「簡単なスケジュール表を作ってほしい」という依頼があり。

作ってみました。

・1ヶ月ごとにA4で予定を書き込めるように枠を大きく。というのが条件です。

まあ毎月手動で日付を入れても構わないのですが、いいチャンスなので様々な

技を使ってスケジュール表を作ってみたので掲載いたします。


・レイアウトのイメージです。

カレンダー1.png

K1に作成したい月の年月日(日は1日)を入力して、下の「カレンダーの作成」ボタンを

押すとその月のカレンダーが作成されるという仕組みです。

これを作成する際に私が検討した内容を思いついたまま書いてみます。

・A1には年月を記載・・・K1の内容をコピーして表示設定を「年・月」にする。

・その月の1日は何曜日なのかを検出して、2行目の同じ曜日にK1の日付を挿入する

・第一週は「1」を挿入した次の列から「+1」していく。土曜日(I列)まで

・1日以前の枠に前回作成した日付が残っている場合があるため、1日以前は空白にする必要がある。

・日曜・祝日は赤文字にしたい

・6週まであるのは、もし1日が金曜日とか土曜日から始まると、

週末が24/31のような形にする必要があります。

またそのようにすると「予定欄」が狭くなります。

結局6週分作成する方が目的に叶うかなと思い6週にしました。


上記の条件で作成開始しました。

・最初にA1の設定。セルには「=K1」と入力しK1の内容をコピーします。

セルの書式設定で「yyyy”年”m”月”」とします。

そうすることによってA1にはK1の日付が取り込まれ、表示は年・月になります。

カレンダー2.png

・作成月の1日の曜日を取得する

これはVBAで取得する方が簡単なので下記のようなプログラムを挿入します。

コマンドボタンを作成してそこにプログラムを書いてください。

Sheets("メイン").Range("L1").Value = Weekday(Sheets("メイン").Range("k1").Value)

まずWeekday関数で日付から曜日の数字を取得します。

取得した数字をL1に挿入しなさいという命令文です。

上の例でいうと「L1」に「5」が表示されていますね。

日曜日が1で木曜日が5になります。

Sheets("メイン").Range("L2").Value = WeekdayName(Sheets("メイン").Range("L1"))

今度は逆にWeekdayName関数で「L1」の数字から曜日を作成して「L2」に挿入しています。

例ではL2に「木曜日」と表示されていますね。

これで作成月の1日の曜日は取得できました。


・次にC1から順番に見ていき先ほど取得した曜日と等しい曜日の2行目に

K1の日付をコピーしたいと思います。

やり方は色々あると思いますが、分かりやすいやり方として、

C1から順番に比較する方法を取りました。

Dim n As Integer  列の変数の宣言

For n = 3 To 9

If Sheets("メイン").Cells(1, n) = Sheets("メイン").Range("L2") Then

Sheets("メイン").Cells(2, n) = Sheets("メイン").Range("k1")

Exit For

End If

Next n

上記の内容ですが、For〜Nextを使用した繰り返し文です。

C1から見ていきL2の内容と同じ曜日の場合、2行目にK1の日付を入れよという命令文です。

同じ曜日を見つけて日付を入力したらForから出なさいということです。

・次に「1日」より前の列の入力を消去していきます。

Sheets("メイン").Range(Cells(2, 3), Cells(2, n - 1)).Select

Selection.ClearContents

これはCellsで範囲指定してその間を選択して、消去せよという命令文です。

・次に「1日」以降の列に日付を入れていく必要があります。

For n = n To 8

Sheets("メイン").Cells(2, n + 1).Value = Sheets("メイン").Cells(2, n) + 1

Next n

ここでFor n = n To 8とありますね。先ほどの1日の続きなので現在nは「5」ですね。

ですから変数nは5〜8ということです。

Sheets("メイン").Cells(2, n + 1)は1日の次の列を指定しています。

ここではH2からスタートします。

順番に+1していきなさいという命令文です。

これで第一週は出来ました。

2週目以降はどうしているのかというと、下のようにC4には「=I2+1」と入力されています。

「I2」の日付に+1するようにセルに式を入れています。

カレンダー3.png

D4は下のようにC4に+1するように式を入れています。

E4以降も同じ。第3週以降も同じ式を入れています。

カレンダー4.png

これで6週目までのカレンダーが出来ました。ただしこれは日付だけの話です。

・日曜・祝日を赤文字にしたい。

日曜日の列は単純に赤文字設定にすれば問題ありません。

後は休日設定ですね。

休日に関しては少し離れた場所(N18〜O35)あたりに2016年の休日一覧表を作っています。

ここを参照して休日を赤文字にしたいと思います。

隣に2017分がありますが、これは一旦無視してください。

カレンダー5.png

全部の日付の欄に条件付き書式設定を設定します。

下のように「数式を使用して、書式設定するセルを決定」にしてルールは

「=COUNTIF($N$20:$N$35,C2)」と入力し、書式は赤文字にします。

まあC2は日曜日なので関係ないのですが一応同じように書式設定しておきます。

同じようにほかの日付が入るセルに条件付き書式設定をしてください。

カレンダー6.png

めんどくさいのでコピーをしようと思うのですが、例えばC2をコピーしてD2からI2まで選択して、

貼り付けるとうまく行かないと思います。

1個ずつやればうまく行きます。C2コピーしてD2に貼り付けという感じですね。

1列(C2からI2)終われば、その1列全部コピーして2週目に貼り付けるのはOKです。

そのようにして3週目から6週目まで貼り付けしてください。


最後にVBAの全文を記載しておきます。

Private Sub CommandButton1_Click()

Dim n As Integer

Sheets("メイン").Range("L1").Value = Weekday(Sheets("メイン").Range("k1").Value)

Sheets("メイン").Range("L2").Value = WeekdayName(Sheets("メイン").Range("l1"))

For n = 3 To 9

If Sheets("メイン").Cells(1, n) = Sheets("メイン").Range("l2") Then

Sheets("メイン").Cells(2, n) = Sheets("メイン").Range("k1")

Exit For

End If

Next n

Sheets("メイン").Range(Cells(2, 3), Cells(2, n - 1)).Select

Selection.ClearContents

For n = n To 8

Sheets("メイン").Cells(2, n + 1).Value = Sheets("メイン").Cells(2, n) + 1

Next n

End Sub

これでK1に日付を記入してコマンドボタンを押すとカレンダーが完成します。

2017年になれば休日一覧を2016年の部分に上書きしてください。

VBAの書き方は色々あると思います。

上級者はもっと違うプログラムを組むと思いますが、私のレベルではこのくらいですね。

VBAの上級者を目指して頑張って行きましょう。


以上です。

一つだけ忘れていました。各日付のセルには「セルの書式設定」で「d」にしてください。

日にちだけ表示させるためです。

カレンダー追記.png









2016年11月09日

エクセル,技,吹き出し





マイクロソフトアクセスのまとめ記事はこちら

人気ブログランキングへ




この吹き出しにテキストを挿入するには右クリックして「テキストの編集」を選択します。

吹き出し5.png

この状態で何かコメントを入れてみてください。

???何も書けないですよね。

カーソルだけが移動していくということになります。

吹き出し6.png

このテキストのフォントの設定で文字の色を確認してほしいのですが、

「自動」になっていますね。

この「自動」は「白」で設定されています。

吹き出しの塗りつぶしはデフォルトで青だったと思います。

そこから文字は白ということになっているのでしょうね。

最初は分からなくて「文字が書けない!」とパニックになった記憶があります。

■自動になっているのだから当然「黒」だと思いますよね。

黒又は別の色にするために、ここでしっかり色の指定をします。自動は「白」ですよ。

しっかり「黒」を選択してください。

吹き出し7.png

これで「黒」でテキストが書けるようになります。








2016年11月07日

エクセル,技,吹き出し





マイクロソフトアクセスのまとめ記事はこちら

人気ブログランキングへ




シート上に吹き出しとかセルに無関係でコメントみたいなものを

入れたい時があります。

吹き出しを作ってみましょう。

タブの「挿入」から「図形」を選択して下の方にある「吹き出し」を選択しましょう。

吹き出し1.png
シート上で適当な大きさで描画してください。下のようになりましたか?
吹き出し2.png

エクセル2010ではデフォルトでは上記のようなブルー系に色になっています。

ここに文字入力すると「白」で表示されます。

このままではちょっと使いづらいのでこの吹き出しを加工します。

吹き出し3.png

図形を右クリックして「図形の書式設定」を開いたところです。

「塗りつぶし」「線の色」「線のスタイル」大体この3つで好みの吹き出しが作成できると思います。

吹き出し4.png

私がよく使用するのは「塗りつぶし」なし、「線の色」は黒、「線のスタイル」は

1ポイントですね。

それからこの図形を右クリックして「既定の図形に設定」すると、

このシート内ではこれがデフォルトになります。








2016年11月06日

エクセル,技,リストボックス






マイクロソフトアクセスの使い方はこちら

人気ブログランキングへ





リストボックスの作り方

リストボックス1.png

開発タブの「挿入」からフォームコントロールで「リストボックス」を選択します。

リストボックス2.png

上のようにB列付近にリストボックスを配置しました。

ここにマウスを当てて右クリックしてください。

リストボックス3.png

メニューから「コントロールの書式設定」を選択します。

リストボックス4.png

ここでまた範囲をしているところがあります。赤矢印を押してからリスト範囲をドラッグしてください。

リストボックス5.png

次に「リンクするセル」とありますね。これは選択したリストをどこに表示させるかを決定します。

一応ここを押してD2を選択しましょう。

リストボックス6.png

上記の状態で「OK」を押してみましょう。

下のようにリストボックスが出来ましたね。今「小沢 真琴」を選択しています。

D2に「9」という数字が表示されていますね。

これは9番目のリストが選択されているという意味です。

リストボックス7.png

しかし「9」なんて数字で表示されても困りますよね。

そこでちょっとした関数を使用します。

表示させるセルをD4にします。

D4に下のように「=INDEX(E2:E24,D2)」と入力します。

そうするとD4に「小沢 真琴」が出力されます。

他の名前を選択した時もその名前がD4に出るか確かめてください。

リストボックス8.png

リストボックスとコンボボックスの違い

・コンボボックスは直接入力できる。リストボックスは一覧から選択するしかない。

・コンボボックスの選択肢は1つだが、リストボックスは設定により複数選択が可能。

大きな違いは上記くらいでしょうか。用途によって使い分けしてください。

私個人は圧倒的にコンボボックスを利用しています。













2016年11月05日

エクセル,技,コンボボックス






マイクロソフトアクセスの使い方はこちら

人気ブログランキングへ



コンボボックス

エクセルのシート上にコンボボックスを作ってみましょう。

下記のシートでE列に名前があります。

B2にこの名前のコンボボックスを作ります。

B2を選択した状態でデータタブの「データの入力規則」で「データの入力規則」を選択してください。


コンボボックス1.png

「設定」の「入力値の種類」でリストを選択して「OK」を押してください。

コンボボックス2.png

下の画面になれば赤矢印のところをクリックします。ここはリストの範囲を指定します。

コンボボックス3.png

データの入力規則という小さなボックスが表示されます。

この状態でE2からE24までマウスでドラッグすると下記のように

「元の値」というところに「=$E$2:$E$24」という値が自動的に入力されます。

もちろん手入力で直接入力してもOKです。

コンボボックス4.png

そして選択が終われば右端の四角を押してください。

コンボボックス5.png

上記のようになりましたか。ここで「OK」を押します。

コンボボックス6.png

上記のようにコンボボックスが完成しました。








それから、なにか「リクエスト」があればコメント入れてください。「過去分でもっと詳細に。」でも結構です。

よろしくお願い致します。


2016年11月04日

エクセル,技,ユーザー設定






マイクロソフトアクセスはこちら

人気ブログランキングへ





書式のユーザー設定

通常「セル」に書式設定する場合は下記の部分で「通貨」とか「日付」とか

「パーセンテージ」とか選択しますね。

しかしここに無い場合はどうしたらいいのか。

その場合は一番下の「ユーザー定義」を使用します。

ユーザー定義でもいくつかサンプルがあるのでその中に利用できるものが

あればそれを使用すればいいと思います。

しかしそれでもない場合は自分で作るしかありません。

ユーザー設定1.png

例えば上記B4で「2000」と入力しています。

それを「2,000件」というように3桁区切りで最後に「件」を付けたいと思います。

ユーザー設定2.png

「G/標準」と書かれているところに上のように「0,000”件”」と入力します。

これは3ケタ区切りで最後に「件」を入れるということです。

結果は下のように「2,000件」と表示されました。文字列を付けたいときは「” ”」で囲ってください。

ユーザー設定3.png

上記以外でも様々な形で表示できますので色々試してみてください。

また文字列を前につけることも可能です。

「”合計”0,000”件”」とした場合は「合計2,000件」という表示になります。

この「ユーザー定義」は意外に役に立ちます。

私もよく利用しています。







2016年11月03日

エクセル,技,ピボットテーブル






マイクロソフトアクセスはこちら

人気ブログランキングへ



ピボットテーブルの作成・使い方

ピボットテーブルを使用すると簡単にデーターベースを統合・集計・分析できます。

例えば、「相手先別」の売上とか、「日付別」の売り上げ、「商品」ごとの販売状況など、

目的に合わせて情報を抽出することが出来ます。

【作成方法】

ピボット1.png

データーベース上の任意の場所にマウスでクリックしてセルを選択します。

こうすると自動的にデーターベースの範囲を取得します。

リボンの「挿入」タブの左端に「ピボットテーブル」というところがあるので、クリックしてください。

下記のようにデーター範囲を聞いてきますので良ければ「OK」を押してください。


ピボット2.png

下記のように他のシートにピボットテーブルの基本が作成されます。

ピボット3.png

下のように「レポートに追加するフィールドを選択してください」というところにチェックを

入れると下の「行ラベル」「Σ値」に項目が追加される。

またこの行ラベルの項目を「列ラベル」までドラッグすると列ラベルになる

ピボット4.png

いま「商品名」を列ラベルに移動したところです。シート内の表示で商品名は列になりましたね。

ピボット5.png

この段階で列に表示されている商品は各相手先にどれだけ販売されているか、

また販売数量の合計が表示されます。

いま、販売日にチェックを入れました。下のように販売日別の集計が表示されています。

ピボット6.png

また販売日をその上の「レポートフィルター」に移動すると左上に「販売日」「すべて」

というセルが出現します。

このB1セルで販売日が選択でき、その日の販売状況を確認できます。

ピボット7.png

下のように2015/1/6を選択するとその日の販売分だけ表示されます。

ピボット8.png

このようにピボットテーブルはデータを簡単な手順で様々な抽出条件設定で抽出できる機能です。

データを分析したい時は非常に便利だと思います。








2016年11月02日

エクセル,技,検索・置換





マイクロソフトアクセスはこちら

人気ブログランキングへ





検索と置き換え

ワークシートで「検索」とか「置き換え」をしたいときは「ホーム」タブの

一番左にある「検索と置き換え」を使用します。

検索と置換1.png

検索を選択すると下記のような表示が出るので、とりあえず「鉛筆」と入力して

「次を検索」を押してみましょう。

検索と置換2.png

赤矢印の部分が選択されました。

「次を検索」を押すと次の「鉛筆」と記入されたセルが選択されます。

検索と置換3.png

「すべて検索」を押すと下記のようになります。

検索と置換4.png








2016年11月01日

エクセル,技,行・列の入れ替え






マイクロソフトアクセスはこちら

人気ブログランキングへ




行・列の入れ替え

行で並んでいるのを列に並べ替えたい時があります。

その時は行・列の入れ替えを行えば入れ替え出来ます。

A1~A14まで日付が並んでいます。そこをすべて選択して、コピーします。

行・列の入れ替え1.png

B1を選択して貼り付けオプションで「行列を入れ替える」を選択してください。

下のように日付が列表示されました。

行・列の入れ替え2.png

【閑話休題】
ちょっと違う話を。
Data Recovery Wizard Freeというデータ復元ソフトのレビューを

お願いされたので少々記載してみます。

1、USBメモリでの実験

1GのUSBメモリで、すべて削除した後に通常スキャンを実行したところ、

2381個検出されました。

エクセル・ワード・pdf・パワーポイント・画像・音声・動画と色々ファイルを

見ていくと、完璧に再現されるファイルと全く再現できないファイルが

発生します。特にエクセル・ワードで再現されないファイルが時々発生。

フォルダーによって再現できるフォルダーと再現できないフォルダーが発生するようです。

「ディープスキャン」を実行すると5368個検出された。

再現される内容は同じ。

2、USBメモリをクイックフォーマットした後にディープスキャンを実行した。

結果5316個検出。再現内容は同じ

3、USBメモリを完全フォーマットした後にディープスキャンを実行した。

結果は2個検出。さすがに完全フォーマットはしっかり削除されているようです。

4、8GのUSBメモリでデータ削除後スキャン、2個検出

 ディープスキャンを実行した結果7198個検出

5、同じ条件で別のPCで実行・・・7204個検出

6、同じUSBメモリを別の復元ソフトで実行。

(私が数年前に購入した復元ソフトです)復元された個数は不明ですが、

ディレクトリ別と拡張子別に仕分けされます。

各ファイルの名前がうまく再現できないがファイルの中身は比較的再現できる。

7、2TBのハードディスクで実験。このハードディスクは以前読み書きが出来なくなったもの。

「Data Recovery Wizard Free」ではかなりの数が検出された。

無料版なので途中で試用限界が来て終了した。

しかし驚くことに私物の復元ソフトでは1つも検出できなかった。

とりあえず無料版の試用限界が来たのでここまでとします。

結論としては完璧ではないがかなり使えるソフトであることが分かりました。

会社のホームページはこちら

製品の紹介ページはこちら







検索
タグクラウド
プロフィール
yoshimatsuさんの画像
yoshimatsu
60過ぎのおっちゃんです。同じ年齢層の中ではそこそこパソコンが使える方だと自負しています。今まで会社等で学んだ知識等を紹介していきたいと思います。
プロフィール
google-site-verification: google948a2bbbd2fd5164.html
×

この広告は30日以上新しい記事の更新がないブログに表示されております。