Excel (一般機能)

Excelの一般機能に関するフォーラムです。
  • 掲示板への投稿には会員登録(無料)が必要です。会員登録がまだの方はこちら
  • 掲示板ご利用上のお願い」に反するご記入はご遠慮ください。
  • Q&A掲示板の使い方はこちらをご覧ください
トピックに返信
質問

 
(指定なし : 指定なし)
Accessからのデータ更新後の条件付き書式
投稿日時: 21/03/08 12:31:42
投稿者: まぐろちゃん

エクセルシートからアクセスにデータの更新をすると設定していた条件付き書式が反映されません。
セルの条件付きは設定されているのですがうまく再表示されず再度設定しなければなりません。
 
内容は重複したものを設定しないように(白文字にしかできませんでした)
  A B C D E
-------------------------------------------
1 注文ID 商品名 個数   注文者 受注NO
2 1    ナシ   3   田中  01
3 2    バナナ  2   田中  01
4 3    バナナ  5   杉田  02
5 4    洋ナシ  4   杉田  02
---------------------------------------------
  
  A B C D E
-------------------------------------------
1 注文ID 商品名 個数   注文者  受注NO
2 1    ナシ   3   田中  01
3 2    バナナ  2   
4 3    バナナ  5   杉田  02
5 4    洋ナシ  4   
---------------------------------------------
上記のように重複したものを白文字にするために
Dと E の列に
条件付き設定
D行(又はE行)を選択し、セル強調表示ツール、指定の値に等しい、=D2 それと =E2
で文字を白にしています。
 
アクセスのテーブルデータを更新した後、エクセルのデータ更新を選択すると重複したものが白文字にならないので毎回設定が必要になります。
解決策はありますでしょうか?

回答
投稿日時: 21/03/08 13:26:34
投稿者: WinArrow
投稿者のウェブサイトに移動

残念ですが、
excelシートに設定した書式は、Accessには、反映されません。
Accessのテーブルには、「値」しか登録できません。

投稿日時: 21/03/09 00:43:12
投稿者: まぐろちゃん

アクセスでデータ入力しているので、エクセルのデータ更新ボタンで
エクセルのシートの見た目なのですが。

回答
投稿日時: 21/03/09 14:13:10
投稿者: WinArrow
投稿者のウェブサイトに移動

OS、Excelのバージョンが記載されいていないので、
どのような方法でAccessからシートにデータを取込んでいるのか?
わかりませんが、
  
例えば、データベースクエリを使っていると仮定して、
予め、条件付く書式を設定してあるシートに
取込めば、条件付き書式は有効になると思います。

投稿日時: 21/03/10 10:51:34
投稿者: まぐろちゃん

OSはwindows10
Officeha Office365
  
エクセルのデータクエリと接続によりExcelに表示しています。
アクセスのデータを更新した後、Excelのデータすべて更新をすると
条件付き書式が作動しなくなります。

回答
投稿日時: 21/03/10 12:51:53
投稿者: んなっと

別の行を参照した数式を使うと、「更新」でデータが増加したときに
条件付き書式の適用範囲がおかしなものになってしまいます。
しかし、同じ行を参照した数式に変更すれば問題が回避されると思います。
 
具体的には、現在のExcelのテーブルの右端に「判定」列を追加し、
 
    A    B   C    D    E   F
1 注文ID 商品名 個数 注文者 受注NO 判定
2    1  ナシ   3  田中    1   0
3    2 バナナ   2  田中    1   1
4    3 バナナ   5  杉田    2   0
5    4 洋ナシ   4  杉田    2   1
 
 
→F2
=(D1=D2)*(E1=E2)
→D2:E5選択
→条件付き書式
 数式
=F2
 
    A    B   C    D    E   F
1 注文ID 商品名 個数 注文者 受注NO 判定
2    1  ナシ   3  田中    1   0
3    2 バナナ   2           1
4    3 バナナ   5  杉田    2   0
5    4 洋ナシ   4           1
 
 
→データ更新してみてください。
 
    A    B   C    D    E   F
1 注文ID 商品名 個数 注文者 受注NO 判定
2    1  ナシ   3  田中    1   0
3    2 バナナ   2           1
4    3 バナナ   5  杉田    2   0
5    4 洋ナシ   4           1
6    5 みかん   8           1

回答
投稿日時: 21/03/11 10:29:04
投稿者: んなっと

最初の質問文の

引用:
エクセルシートからアクセスにデータの更新をすると

を読んでも、どちらがデータソースか不明でしたが、
WinArrowさんが聞き出してくださったので明確になったことを書き込んでおきます。
失礼しました。
 
このExcel一般機能板、以前は回答者同士の気遣いが垣間見られるような書き込みが多かったような気がします。
 
・〜さんの表をお借りして
・別案ですが、....
・[他の回答者の書き込みがあるまでの]とりあえずの方法です
・識者を待て
 
こういう書き方ができる人は、大人だなぁと勝手に思っていました。
 
 
※といっても、ほかの回答者に悪意のある書き込みをする回答者に対しては
今後も厳しく対応しますが。

回答
投稿日時: 21/03/11 12:09:56
投稿者: WinArrow
投稿者のウェブサイトに移動

私の操作に間違いがあると思いますが、
ACESSMDBデータベースクエリで
テーブルからデータをシートに取込み
セル値を変更しても
行挿入しても
「すべて更新」でデータベースが更新されません。
どこか間違っているのかな?

回答
投稿日時: 21/03/11 12:17:00
投稿者: WinArrow
投稿者のウェブサイトに移動

私は、Excelから、データベースを更新したことがなかったので
↑は、条件付き書式がどのようになるか、試す目的でテストしました。
おもわぬ結果になったので、そちらのレスをしてしまいました。
 
条件付き書式の件は
再取込み時、条件付き書式設定がクリアされることはなかったです。

回答
投稿日時: 21/03/11 12:19:49
投稿者: WinArrow
投稿者のウェブサイトに移動

Excelのデータタブ内の
「すべて更新」は、
データベースを更新する機能ではないような気がします。

回答
投稿日時: 21/03/11 13:36:04
投稿者: んなっと

1. Excelで
 [データの取得]→Accessデータベースから→開く→テーブルまたはクエリ選択→読み込み
 →できたテーブルに[条件付き書式](一つ上の行を参照する数式)を設定
 
2. Accessで上のテーブルを編集・レコード追加
 
3. Excelに戻って[更新]すると、
  行の増加にともなって条件付き書式の適用範囲がおかしなことになります。

回答
投稿日時: 21/03/11 14:41:54
投稿者: WinArrow
投稿者のウェブサイトに移動

あたしの環境では
 
>2. Accessで上のテーブルを編集・レコード追加
が実行できません。
Excel側でテーブルを抑えているので、Accessは読み取り専用になってしまいます。

回答
投稿日時: 21/03/11 14:58:46
投稿者: んなっと

はぁ...面倒。
でしたら、
  
1.の最後にExcelで保存→終了
2.の最後にAccessで保存→終了 してから
3.Excel起動→更新

回答
投稿日時: 21/03/11 15:30:53
投稿者: sk

引用:
Excel側でテーブルを抑えているので、Accessは読み取り専用になってしまいます。

Excel ブック側のデータ接続の定義において、
Mode パラメータが Share Deny Write になっているからでしょう。
 
Mode パラメータを Read に変更してテーブルの更新(再読込)をした上、
Access でそのデータベースファイルを開けばよいはず。

回答
投稿日時: 21/03/11 15:49:54
投稿者: WinArrow
投稿者のウェブサイトに移動

skさん、ご指導ありがとうございます。
 
MODE=Readに変更してやってみました。
 
再取込みの際、条件付き書式の設定が壊れている
既存の設定は、適用範囲が変わって
新規追加した行は、条件付き書式の条件式が意図する内容になってない。
壊れているという表現がただしいかな?
 
やはり再設定しかないのかな?
 

投稿日時: 21/03/11 16:14:06
投稿者: まぐろちゃん

皆さんいろいろなコメントありがとうございます。
 
WEBのショッピングサイトのデータをCSVで保存し
ACCESSのインポートを使用して読み込みクエリを使用し抽出しています。
どうしても表示用がエクセルで見たいという事で上記のように行っいました。
今回のアドバイスでやってみます! 解決次第レスしたいと思います。

回答
投稿日時: 21/03/11 16:20:06
投稿者: んなっと

再度提示します。

引用:
別の行を参照した数式を使うと、「更新」でデータが増加したときに
条件付き書式の適用範囲がおかしなものになってしまいます。
しかし、同じ行を参照した数式に変更すれば問題が回避されると思います。

データソースの種類に関係なく起こる現象のような気がします。
Excelだけの問題。

回答
投稿日時: 21/03/11 17:47:50
投稿者: sk

引用:
エクセルシートからアクセスにデータの更新をすると設定していた条件付き書式が反映されません。
セルの条件付きは設定されているのですがうまく再表示されず再度設定しなければなりません。

ところで、その外部データのプロパティにおいて、
[セル書式を保持する]プロパティや
[変更されたレコード (行) のデータ更新時の処理]プロパティは
どのように設定されているのでしょうか。

回答
投稿日時: 21/03/11 18:04:27
投稿者: WinArrow
投稿者のウェブサイトに移動

んなっと さんのアドバイスを
実現するならば
>指定の値に等しい、=D2 それと =E2
ではなく、
 
数式を使って、
=OOFSET(D3,-1,0)=D3
のように設定してみましょう。

回答
投稿日時: 21/03/11 19:16:30
投稿者: んなっと

なるほど。WinArrowさんの考えでうまくいきました。
 
=AND(OFFSET(D2:E2,-1,)=D2:E2)
 
ですね。作業列も不要ですね。ありがとうございました。

トピックに返信