[[20150330090456]] 『pivot tableを入力画面として使う事は可能ですか=x(医療ジム) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『pivot tableを入力画面として使う事は可能ですか?』(医療ジム)

宜しくお願い致します。
現在、入院予約と入院患者管理をエクセルで行っております。
一つのブックに、エントリー(入院予約)用シート、入院患者用シート、退院患者用シートと分けております。
運用方法として、シート間のコピペで運用されています。
これを、何とかデータは、一つのシートで管理して、見せ方の工夫で入力の効率化とデータの統計処理が出来ないかと考えております。
以前の病院では、ファイルメーカーで管理していたので、interfaceはかなり自由に設定できましたが、エクセルではどのような事が出来るのかよくわかりません。
pivot tableに直接新規データの入力や既に入力されているデータの変更は出来ないようです。
#1.入力画面の様な使い方が可能でしょうか?
#2.もし可能なら、参考になるような情報を教えて頂けませんか?
宜しくお願い致します。

< 使用 Excel:Excel2010、使用 OS:WindowsVista >


 Microsoftの環境下でファイルメーカと比較するとすればエクセルではなくアクセスでしょうね。
 エクセルは基本、縦横の項目を持った表計算ソフトですから。
 逆にいえばエクセルを最大限活用するなら、この特性を意識した構成にすべきですね。

 ファイルメーカの画面に現れているのは、DBそのものではなく、DBは裏にある項目名とデータがある
 ある意味、「無味乾燥」なものです。ここを間違って、エクセル側のDBとして、そのようなイメージでレイアウトしますと
 きわめて扱いにくいものになります。

 あくまで、エクセル側のDBとしては、1行目に項目名、2行目から、データが列挙されている「おもしろくもなんともない」
 レイアウトにしておくべきですね。

 で、そのエントリー画面をどうするかということになります。
 簡単にやろうとすれば、エクセルの標準ツールであるデーターフォームの利用があります。
 ただ、これは、フォームのカスタマイズには限界があります。ファイルメーカと比べれば、どうしても
 見劣りがします。

 がんがんと、エクセルの世界だけでファイルメーカと張り合う(?)ならユーザーフォームで、ごりごり
 コードを書くということになるでしょうね。

 あるいは、エントリーシートを、それらしくデザインして、セルの保護なんかも設定して、入力セルのみに
 カーソルがいくというようなものに対して、VBAでDBとしてのシートへのメンテナンスを行う。

 まぁ、そんなことになるでしょうね。

(β) 2015/03/30(月) 10:10


ピボットテーブルは、あくまでも集計用の表であり、入力はできません。集計したものを見るためには有効です。
しかし、修正、追加等は、全て元データを操作しましょう。

で、予約と入院管理ですが、元データにエントリ、入院、退院(3列用意するか、1列で3状態選択式にするか)のチェックができる列を追加し、
オートフィルタで絞ってはいかがでしょうか?
お薦めは、1:エントリ、2:入院、3:退院のように、状態番号付きの選択式です。一覧表示も入力も、簡単にできますよ。

もっとお薦めは、データをExcelシートではなく、データベースに変えることです。
そして、入力用画面と、検索・表示画面、集計画面をブラウザで表現することです。
近年の一般の総合病院ならば、受付でも先生のPCでもデータ操作できるよう、こういうDBを使ったシステムになっているかと思います。
(???) 2015/03/30(月) 10:17


β様、???様有難うございます。
今のところ、現実的対応としては、オートフィルタ機能とユーザーフォームでしのぐのが、一番安上がりで労力が少ない方法ですね。
病院全体のシステムというよりは、現在使用中のものは、限られたuserだけが利用しているので、外注が出来るような予算もありません。
ファイルの管理も、自分だけがやっている状態なので、ブラウザやVBAはハードルが高いです。
(医療ジム) 2015/03/30(月) 11:25

 >ブラウザやVBAはハードルが高いです

 ユーザーフォームもVBAです。念のため。
 エクセル標準のデータフォームならVBA不要です。

(β) 2015/03/30(月) 11:40


β様、???様
入力専用シートを用意して、オートフィルターを実行する(エントリ、入院中、退院マクロボタンを配置。???様が示唆して頂いたようにデータ側にチェック専用のセルを新たに作って、抽出したデータを入力専用シートに展開させるのが、無難な所でしょうか?

(医療ジム) 2015/03/30(月) 12:01


一例として
F列をキーセルとした場合
Sub test01()
 Dim sh1 As Worksheet
 Dim sh2 As Worksheet
 Set sh1 = Worksheets("データ")
 Set sh2 = Worksheets("入力専用")
 '---
 d = sh1.Range("A65536").End(xlUp).Row
 k = 1
 For i = 3 To d
 If sh1.Cells(i, "F") = "エントリー" Then
 sh2.Cells(k, "A") = sh1.Cells(i, "A")
 sh2.Cells(k, "B") = sh1.Cells(i, "B")
 sh2.Cells(k, "C") = sh1.Cells(i, "C")
 sh2.Cells(k, "D") = sh1.Cells(i, "D")
 sh2.Cells(k, "E") = sh1.Cells(i, "E")
 sh2.Cells(k, "F") = sh1.Cells(i, "F")
 k = k + 1
 End If
 Next i
 End Sub
入力専用シートのエントリーボタンには、こう言う操作をさせると良いんでしょうか?
(医療ジム) 2015/03/30(月) 12:26

出力先に、前回実行時のデータが残っていると思うので、まずそれを消去してから転記ですかね。

それよりも、私の案だと、入力専用シート使いません。エントリ状態のものを一括入力したければ、
オートフィルタでエントリ状態なものだけ絞って表示。その状態で自由にデータ変更するだけですよ。
(???) 2015/03/30(月) 13:04


コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.