Excelの行列入替を双方向で同期する方法

このQ&Aのポイント
  • ExcelのSheet1とSheet2にあるデータベースを双方向で同期する方法を教えてください。入力箇所が点在しており、値だけでなくセルの色やフォントも同期させたいです。
  • Sheet1には特許情報をまとめたデータベースがあり、Sheet2にはSheet1のデータベースを行列入れ替えてコピペしたものがあります。Sheet1を使いたい場合とSheet2を使いたい場合が混在しており、都度検索で入力を行っています。
  • Excelのリンクや関数ではなく、VBAを使用して双方向でデータベースを同期させる方法を教えてください。使用しているのはWindows7とエクセル2010です。
回答を見る
  • ベストアンサー

Excel:行列入替の2つのDBを常に双方向で同期

Sheet1にフィールドが60、レコードが400程ある特許情報をまとめたDBを作成しており、 Sheet2にSheet1のDBを行列入れ替えてコピペしたものがあります。 入力の際、Sheet1を使いたい場合とSheet2を使いたい場合が混在し、且つ、DBの全体に入力箇所が点在します。 入力箇所は毎回変わるので、都度検索で探しながら入力を行っています。 この二つのSheetを双方向で同期させたいのですが、方法はございますでしょうか。 同期させたい情報は、値だけでなく、セルの色やフォント、フォントの色、サイズ等全てです。 例えば、 Sheet1のE3セルに「5050」と入力すれば Sheet2のC5セルにも自動で「5050」と入力される。 Sheet2のC5セルを赤色にすれば、 Sheet1のE3セルも自動で赤色になる。 Sheet1のD列とE列を入れ替えたら Sheet2の4行目と5行目が自動で入れ替わる。 といった感じです。 リンクや関数では出来ないと思うので、VBAになるかと思いますが、 知識がありません。 Windows7でエクセル2010を使用しております。 何卒宜しくお願い致します。

質問者が選んだベストアンサー

  • ベストアンサー
  • eden3616
  • ベストアンサー率65% (267/405)
回答No.6

以下の方法のうち、 ・エリアを決め込む方法 ・変更があるたびに対象範囲を行列入替でコピーし直す方法 前者は処理速度は格段にあがりますが、行削除・入替に対応できないため後者で作成し直しました。 以下のVBAコードと入れ替えて使用してください。 ■VBAコード Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range) 'On Error GoTo era '型宣言 Dim myRng As Range Dim mySt(1) As Worksheet Dim myDb(1) As Range Dim myArea(1) As Range Dim myRow As Long Dim myCol As Long Dim flag As Integer Dim myBas As Range Dim myBef As Range 'DB範囲設定(基準位置設定) '1つ目のデータベースを設定 Set mySt(0) = Sheets("Sheet1") Set myDb(0) = mySt(0).Range("A1") '2つ目のデータベースを設定 Set mySt(1) = Sheets("Sheet2") Set myDb(1) = mySt(1).Range("A2") '対象シート判定 Select Case ActiveSheet.Name Case mySt(0).Name   flag = 0 Case mySt(1).Name   flag = 1 Case Else   flag = -1 End Select If flag = -1 Then Exit Sub '基準セルを記憶 Set myBas = myDb(flag) '最大変更範囲取得 Set myArea(0) = mySt(flag).Range(myDb(flag), myDb(flag).SpecialCells(xlCellTypeLastCell)) '反転コピー Application.EnableEvents = False Application.ScreenUpdating = False Application.Calculation = xlCalculationManual flag = Int((2 - flag) / 2) mySt(flag).Activate Set myBef = Selection Set myArea(1) = mySt(flag).Range(myDb(flag), myDb(flag).SpecialCells(xlCellTypeLastCell)) myArea(0).Copy myArea(1).PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks:=False, Transpose:=True myBef.Select mySt(Int((2 - flag) / 2)).Activate GoTo owari: era: MsgBox "エラー番号:" & Err.Number & vbCrLf & "エラー内容:" & Err.Description owari: Application.Calculation = xlCalculationAutomatic Application.ScreenUpdating = True Application.EnableEvents = True End Sub

amichan777
質問者

お礼

ありがとうございます!!! 動作確認致しました! ・行や列の削除、入替え ・行や列、或いはDB全体のその場でのコピペ ・関数の入ったセルの動作も問題なく 全てがスムーズに行える様になりました。 この度は長期間に渡り、何度も最後までお助け頂きありがとうございました。 社内ではエクセルDBが推奨されており、 ご教示頂いた内容は全社的に横展開して活用して行こうと思います。 本当にありがとうございました。

その他の回答 (5)

  • eden3616
  • ベストアンサー率65% (267/405)
回答No.5

 >Sheet1の2行目全体を黄色にして、同じ場所にコピペしたところ、  >Sheet2のB列が黄色になり、上手く行ったのですが、  >Sheet2のE列を黄色にして同様にしたところ、  >「実行時エラー'1004': アプリケーション定義またはオブジェクト定義のエラーです。」  >というのが現れて、「デバック」をクリックすると、  >VBEの下から9行目から6行目までが黄色くハイライトされ、  >黄色い矢印が下から6行目にありました。 行・列選択での変更ですと、その選択された行・列全体が変更されたとして処理されます。 「変更された行数」≦「エクセルの取扱可能な列数」であれば問題ないのですが、 これを超える場合にご提示のエラーが発生します。 (行変更で問題なかったのに、列変更でエラーになるのはこのせいです) また別の問題として行・列全選択による変更ですと全ての選択セルをコピーするので 処理時間もかかるとおもいます。 全選択した場合の挙動ですがエクセルは以下の制限があります。 ・エクセル2003以下では:65,536行、256列  → 256行、256列以上のデータが取り扱えない ・エクセル2007以上では:1,048,576行、16,384列  → 16,384行、16,384列以上のデータが取り扱えない これにより対象のデータにおいて行数がエクセルの最大列数を超える場合において 同様のエラーが発生してしまいます。 変更範囲を超えた場合にコピー処理を行わないように修正しました。 下記のVBAコードと入れ替えて使用してみてください。 ただし・・・ このコードにおいても全選択を行った場合、選択範囲全てにおいて 上記変更内容を照査しますので処理時間がかかるとおもいます。 処理時間の短縮が必要であれば、以下の方法になると思います。 ・最大行数最大列数を決め込む方法 ・変更があるたびに、全セル削除→セル全体を相方へ毎回行列反転コピーする方法 ■VBAコード Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range) On Error GoTo era '型宣言 Dim myRng As Range Dim mySt(1) As Worksheet Dim myDb(1) As Range Dim myRow As Long Dim myCol As Long Dim flag As Integer Dim myBas As Range Dim myBasAdr As Range 'DB範囲設定(基準位置設定) '1つ目のデータベースを設定 Set mySt(0) = Sheets("Sheet1") Set myDb(0) = mySt(0).Range("A1") '2つ目のデータベースを設定 Set mySt(1) = Sheets("Sheet2") Set myDb(1) = mySt(1).Range("A2") '対象シート判定 Select Case ActiveSheet.Name Case mySt(0).Name   flag = 0 Case mySt(1).Name   flag = 1 Case Else   flag = -1 End Select If flag = -1 Then Exit Sub '基準セルを記憶 Set myBas = myDb(flag) '最大変更範囲取得 Set myBasAdr = mySt(flag).Range(myBas, myBas.SpecialCells(xlCellTypeLastCell)) '反転コピー flag = Int((2 - flag) / 2) Application.EnableEvents = False Application.ScreenUpdating = False Application.Calculation = xlCalculationManual For Each myRng In Target   If Not Application.Intersect(myRng, myBasAdr) Is Nothing Then     If myRng.Row < Columns.Count Then       myRng.Copy       myDb(flag).Offset( _         myRng.Column - myBas.Column, _         myRng.Row - myBas.Row _       ).PasteSpecial Paste:=xlPasteAll     End If   End If Next GoTo owari: era: MsgBox "エラー番号:" & Err.Number & vbCrLf & "エラー内容:" & Err.Description owari: Application.Calculation = xlCalculationAutomatic Application.ScreenUpdating = True Application.EnableEvents = True End Sub

amichan777
質問者

お礼

処理時間については改善方法は無いと勝手に思って諦めておりましたので、問題点として挙げて頂けて大変有難かったです。 方法もご提案頂き、本当にありがとうございます。

amichan777
質問者

補足

ありがとうございます!!! ご教示頂きましたVBAでテストを行いました。 行全体、列全体の色を変更し、その場にコピペを行ったところ、お陰様でうまく行きましたし、昨日よりは速くなりました。 続いて、行の入れ替えを試したところ、仰る通り、貼り付けた行だけ反映されて、切り取った行や、挿入入替えによる移動した行は反映されませんでしたので、変更された行(10行程)を同じ場所にコピペしたところ、1行だけの時と違い、かなりの処理時間を要しました。 場合によってはもっと沢山の行を指定することになるので、処理時間の短縮が可能なのであれば是非ともやりたいです。 eden3616さんにご協力頂きましたお陰で、ここまで出来上がって来ましたので、使いやすいものに仕上げて、今後ずっと活用していきたいと思います。 ・最大行数最大列数を決め込む方法 ・変更があるたびに、全セル削除→セル全体を相方へ毎回行列反転コピーする方法 について引き続きご教示頂けますでしょうか。 何卒宜しくお願い致します。

  • eden3616
  • ベストアンサー率65% (267/405)
回答No.4

変更箇所のみの同期をしているため、行全体・列全体の入替ですと異動先の行・列のみしか反映されませんね。 そのような処理を行っているのであれば No1・2に提示したコードではデータが欠損する可能性があります。 変更があるたびに、全データを反転コピーするようにすれば良いとは思いますが。

amichan777
質問者

お礼

更なる補足をありがとうございます。 >変更箇所のみの同期をしているため、 >行全体・列全体の入替ですと >異動先の行・列のみしか反映されませんね。 このことに気付いておりませんでしたので大変助かりました。 お陰様で列の入れ替えでエラーが出ることにも気付くことが出来ました。 ありがとうございます。

amichan777
質問者

補足

更なる補足をありがとうございます。 行全体 或いは 列全体 をコピーして、同じ場所にペーストすることで対応できないか、色々試してみようとしたところ、 Sheet1の2行目全体を黄色にして、同じ場所にコピペしたところ、Sheet2のB列が黄色になり、上手く行ったのですが、 Sheet2のE列を黄色にして同様にしたところ、「実行時エラー'1004': アプリケーション定義またはオブジェクト定義のエラーです。」というのが現れて、「デバック」をクリックすると、VBEの下から9行目から6行目までが黄色くハイライトされ、黄色い矢印が下から6行目にありました。 myDb(flag).Offset( _ myRng.Column - myBas.Column, _ myRng.Row - myBas.Row _ ).PasteSpecial Paste:=xlPasteAll 何度やっても同じ現象が起こります。 行全体・列全体の入替以外でも、 広範囲の変更の場合は手動で行列入替えのコピペで対応した方が良いのでしょうか。 宜しくお願い致します。

回答No.3

2つ? マスタは1つにすべき、、、 その程度のデータ量なら一瞬で変換も、そして逆変換もできる、、、

amichan777
質問者

お礼

ご教示ありがとうございます。 そうなのです。2つ使いたいと思っています。 通常は1つで、そうすべきだという考えが一般的だというのは、今回ご意見を頂いたのを切っ掛けに友人に訪ねてみたりして、お陰様で勉強になりました。 ただ、今回取り扱う特許DBの場合、どちらの方法が良いのかは不勉強な為、まだ理解できておりませんので、今後も勉強を続けて理解し、あるべき姿に近づけて行けたらと思います。 この度はご回答をありがとうございました。

  • eden3616
  • ベストアンサー率65% (267/405)
回答No.2

No1に補足です。 このコードが動作するタイミングは 設定したデータベースのどちらかのシートが選択されている状態で セルの値が変更された場合です。 ここでいう変更は、前と後の値が変わったではなく、 F2を押してEnterのようにセルの内容が書き換わる可能性のある動作 になります。 セルの罫線変更や背景色、文字色の変更のみを行った場合は反映されません。 上記書式のみの変更を行った場合は、対象のセルを選択し、F2→エンターを押してください。 大量にある場合はその範囲をコピーの後、同じ場所に張り付けてください。 書式ごと反転セルにコピーされます。

amichan777
質問者

お礼

こちらの補足説明も大変助かりました。 特許の状況をレコード毎に色分けしていますので、 背景色の変更作業も多発しますし、レコード全体を変更しますので、範囲が広いです。 コピーペーストやF2+Enterで対応できるとのこと、大変助かります。 ありがとうございます。

  • eden3616
  • ベストアンサー率65% (267/405)
回答No.1

VBAで変更されたセルは戻すことが出来ません。 必ずデータのバックアップをとったうえで、動作テスト願います。 (1)最下のVBAコードを「ThisWorkbook」モジュールに記述してください。  以下のサイトを参考にしてください。  http://officetanaka.net/excel/vba/beginner/10.htm (2)コード内の「'DB範囲設定(基準位置設定)」の部分を変更してください。  1つ目と2つ目のデータベースについて「シート名」と「基準セル」を設定してください。  基準セルとはデータベース範囲において実データエリア(タイトルエリアを除く範囲)の左上のセルアドレスになります。  (添付画像において黄色着色のセル)   現在の設定は以下のようになります。     1つ目のデータベース 「Sheet1」の「A1」で設定     2つ目のデータベース 「Sheet2」の「A2」で設定 (3)セルの値に変更があれば変更セルと基準セルの差分を行・列反転したセルを対象としてコピーします。 ■VBAコード Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range) '型宣言 Dim myRng As Range Dim mySt(1) As Worksheet Dim myDb(1) As Range Dim myRow As Long Dim myCol As Long Dim flag As Integer Dim myBas As Range 'DB範囲設定(基準位置設定) '1つ目のデータベースを設定 Set mySt(0) = Sheets("Sheet1") Set myDb(0) = mySt(0).Range("A1") '2つ目のデータベースを設定 Set mySt(1) = Sheets("Sheet2") Set myDb(1) = mySt(1).Range("A2") '対象シート判定 Select Case ActiveSheet.Name Case mySt(0).Name   flag = 0 Case mySt(1).Name   flag = 1 Case Else   flag = -1 End Select If flag = -1 Then Exit Sub '基準セルを記憶 Set myBas = myDb(flag) '反転コピー flag = Int((2 - flag) / 2) Application.EnableEvents = False Application.ScreenUpdating = False Application.Calculation = xlCalculationManual For Each myRng In Target   myRng.Copy   myDb(flag).Offset( _     myRng.Column - myBas.Column, _     myRng.Row - myBas.Row _   ).PasteSpecial Paste:=xlPasteAll Next Application.Calculation = xlCalculationAutomatic Application.ScreenUpdating = True Application.EnableEvents = True End Sub

amichan777
質問者

お礼

eden3616 様 補足質問の件は解決致しました。 http://atamoco.boy.jp/vba/excel/book/securitycenter.php こちらを参照し、マクロの設定の部分で、 「デジタル署名されたマクロを除き、すべてのマクロを無効にする」にチェックが入っていたのを、 「警告を表示してすべてのマクロを無効にする」にチェックを入れたところ、機能が復活しました。 ありがとうございます。 お陰様で、今回の改善が達成できたことを、部員全員で喜んでおります。 業務改善のプレゼンでも発表したいと思います。 本当に本当にありがとうございました。

amichan777
質問者

補足

eden3616 様 迅速に、ご丁寧にご対応頂き、大変感謝しております。 ありがとうございます。 仰る通りにやってみたところ、思い通りに一旦なったのですが、保存して閉じて、再度開いて試してみたところ、全く反映されなくなってしまいました。 反映されないというのは、 Sheet1に入力した内容がSheet2に自動入力されず、 その逆も同じでした。 保存の際は、マクロ有効ブックで保存致しました。 何卒宜しくお願い致します。

関連するQ&A

  • Excel:別々のセル間のデータを常に双方向で同期する方法

    Excel:別々のセル間のデータを常に双方向で同期する方法 一つのエクセルファイル内の別々のシートにあるセルの一方にデータを入力すると他方にも同時に入力されるようにするにはどうすればいいでしょうか。 一方通行ではなく、どちらのセルに入力しても他方に同じ内容が入力されるようにする具体的な方法を知りたいです。 また、データを入力した後いつでもどちらかのセルの内容を訂正しても他方のセルにそれが反映されてほしいです。 使用しているのはWin XP homeでエクセル2003です。 具体例をあげます。 シート1のセルE4に「100」と入力すると、シート2のセルF9にも「100」と入力される。 その逆のシート2のF9に先に「100」と入力してもシート1のセルE4に「100」と入力される。 また、シート2のF9に「100」と入力しシート1のセルE4にも「100」と自動で入力された後、シート1のセルE4に「200」と訂正するとシート2のF9も同時に「200」と訂正されてほしいのです。 もし上記が可能でしたら、別々の3枚のシートにある別々の3個のセルでも同じように、どれかのセルにデータを入力すると他の2つのセルにも同じデータが入力されるようにできるのかを知りたいです。これも一方通行ではなく、3つのセルのどれに入力しても他の2つに同じデータが入力されてほしいです。 もし当方が望むことができないようなら、どういう理由でできないのかも知りたいです。 上記質問に対する的を射た答えでなくとも関係のありそうなことやヒントになりそうなこともお教えください。 参考になりそうなサイトがありましたら、どの部分が参考になるのかを示した上でURLを教えてください。 当方の質問が下手で意味が伝わりにくいようでしたら、ご指摘いただければできるだけ詳細に追記する所存です。 ご回答いただいた内容に対してさらに質問するかもしれません。 どうぞよろしくお願いいたします。 最後まで読んでいただきありがとうございました。

  • 行列の入れ替え

    次の処理を行うプログラムを書きたいのですが教えていただけないでしょうか? (処理) B列のあるセルの値が2000または2001の場合、当該行のc列からn列までのセルをコピーし、11行を挿入し、行列を入れ替えて貼り付ける。 この処理を繰り返したいです。             (処理前) A  B  C  D  E  F  G   H  I  J  L  M  N  O 1 2000  1  2  3  4  5  6  7  8  9  10  11  12 2 3 4 5 6 7 8 9 10 11 (処理後) A  B  C  D  E  F  G  H  I  J  L  M  N  O 1  2000  1 2      2 3      3 4      4 5      5 6      6 7      7 8      8 9      9 10     10 11     11 12     12 13     13 よろしくお願いします。

  • エクセルのマクロについて教えてください

    エクセルで、その行の中に赤色のセルがある場合は、その行のA列のセルに"○"を入れるというのは、マクロで書く場合はどのように書けばよいでしょうか。 行は1~100まで、列はA~Zまであります。赤色のセルはB列~Z列の所々に点在します。

  • エクセル 関数を使わずにデータを取りたい

    EXCELを使ってデータ入力をしたいです。 下の図のように、シート1のA列にコードを入力すると、シート2のテーブルから値を引っ張ってくるようにしたい。 たとえば、シート1のA1に"C001"を入力したら、B1に"赤"が自動入力されるようにしたい。 シート1 A列 B列 行1 C001 シート2 A列 B列 行1 C001 赤 行2 C002 青 行3 C003 黄色 ただし、シート1のB列の値は、入力後に編集するため、ここには計算式を入れたくないのです。 なので、通常ならばB列にVLOOKUP関数を使えばすむことですが、計算式を入れずに上記を実現する方法を教えてください。

  • (エクセルマクロ)複数の一連作業をマクロで行う処理について

    以下の一連の処理についてマクロのコードを一式で教えてください。 【エクセルの構成】 1.シート名 日付だけ都度変更する形式 (例:YYYYMM_教えてGoo) 2.表 列 AからAAまでデータあり 行 1行目はタイトル。2行目以降からデータ。 【処理手順】 1.表全体のフォントを「MS Pゴシック フォント9」にする。 2.1行目から11行目と13行目を削除 3.A列とD列削除 4.一行目の項目行にオートフィルタを設定 5.ウインドウ枠の固定(先頭行(一行目の項目行)の固定) 6.H列に文字が入ってる行のみ削除 7.E列とF列を昇順に並び替え(優先順位は(1)F列、(2)E列) 8.データの最終行の次の行のU列からZ列に表を入れる。 (例)5行目が最終データ行の場合  A…U V W X Y Z 1 ・ 5   6 A =SUM() 7 B 8 C     =SUM() (書式設定と詳細) セルU6 「文字列A」と入力し、背景は黄色、文字色は赤 セルV6 背景は黄色、文字色は赤 セルW6 背景は黄色、文字色は赤 セルX6 背景は黄色、文字色は赤 セルY6 背景は黄色、文字色は赤 セルZ6 数式入力(=SUM(Z$2:Z5(最終行))、背景は黄色、文字色は赤 セルU7 「文字列B」と入力し、背景は黄色、文字色は赤 セルV7 背景は黄色、文字色は赤 セルW7 背景は黄色、文字色は赤 セルX7 背景は黄色、文字色は赤 セルY7 背景は黄色、文字色は赤 セルZ7 背景は黄色、文字色は赤 セルU8 「文字列C」と入力し、背景は黄色、文字色は赤 セルV8 背景は黄色、文字色は赤 セルW8 背景は黄色、文字色は赤 セルX8 背景は黄色、文字色は赤 セルY8 背景は黄色、文字色は赤 セルZ8 数式入力(=SUM(Z6:Z7)、背景は黄色、文字色は赤 すべて掛け線なし 9.データ最終行(表も含む)から5行目全体をグレーにし、その行のA列に「データA」と入力。 10.I列に文字が入ってる行のみを切り取り、一番最後にデータが入ってる行から6行目(「データA」と入力した下の行から) から貼り付ける。(切り取った行は行削除し、上詰め) 11.データ最終行(切取貼り付けしたデータAを含む)から3行目全体を黄色にし、その行のA列に「データB」と入力。 12.X列の前に列を挿入し、挿入した列の一行目(項目行)に「タイトル」と記入。 13.挿入した列の2行目から前の列(W列)にデータが入ってる行まで数式(=ROUND(W2/1.05,0)※2行目に入力した場合)をコピー。 14.セルAB1に「No.」と記入。 15.G列からW列とY列からAA列を非表示にする。 6と8以降からマクロの自動記録ではできませんでした。 ご教授お願いします。

  • [Excel]複数のシートで内容の同期を取る

    1つのブックで複数のシートを管理しているファイルがあります。 あるシートの列の内容を別のシートの列と同期させたいと思っています。例えば、シート1のA列の内容とまったく同じものをシート2のE列に表示させたいと考えていますが、この方法を教えてください。 この場合、シート1の内容を変更したら、自動的にシート2には同期が取れているようにしたいです。 また、できればシート2の列は変更できないようにできればと思っています。 お手数ですが、教えて頂ければと思います。

  • 【EXCEL2003】8つの条件がある書式設定のVBAの書き方

    VBAの書き方について御教授ください! 複数のシートに、入力値が決まっているA列とC列があります。 その入力値の組み合わせによって、入力時にA:Cのセル書式を以下のように8通りに変えたいです。 マクロの自動記録しか経験がなく調べたのですがよくわかりませんでした。 よろしくお願いいたします。 1.A列「あ」・C列なし→セル背景:黄 2.A列「あ」・C列「ア」→セル背景:黄 フォント:青 3.A列「あ」・C列「イ」→セル背景:黄 フォント:赤 4.A列「い」・C列なし→セル背景:緑 5.A列「い」・C列「ア」→セル背景:緑 フォント:青 6.A列「い」・C列「イ」→セル背景:緑 フォント:赤 7.A列なし・C列「ア」→フォント:青 セル背景:なし 8.A列なし・C列「イ」→フォント:赤 セル背景:なし

  • エクセル Excel 関数or条件付き書式

    あけましておめでとうございます(*^_^*) 新年早々教えてください! セルに指定された値(文字列)を入力すれば 自動で別のシートの別のセルの書式が変更される (あるいは関数により自動で値が入力される) 方法を探しています! エクセルマスターの方お願いします! 【具体的に…】 シート1の セルA1に  指定された文字列(例-ねずみ)を 入力すれば    ↓ シート2の セルC10の 書式が 自動変更される(例-フォントが赤になる) もしくは 【具体的に…(2)】 シート1の セルA1に  指定された文字列(例-ねずみ)を 入力すれば    ↓ シート2の セルC10に 指定された値(例-厄年)が 自動入力される そんな方法を教えてください! どちらもできれば最高です!!

  • ExcelVBA 赤字のセルを黄色で塗りつぶす

    Excel VBA初心者です。 赤いフォントの数字と黒いフォントの数字を使って表を作ります。(空白のセルも有) 列(C~Y) 行(5~1000) 赤いフォントで数字を入力したら、自動的にセルが黄色で塗りつぶされるようにしたいのですが どうしたらいいでしょうか?回答よろしくお願いします。  

  • Excelでの入力値に基づく色付け→行全体に?

    お世話になります。 添付の表のような形式で、「E列」にある、振込確認ができた場合(✓と入力)に、該当する行全体のフォントの色を自動的に変更することはできるのでしょうか。 色々試してみたところ、該当するセルだけにフォントの色変更を適用することはできるのですが、行全体に適用可能なのか、また、もし可能であれば、その数式を教えて頂きたいと思います。 どうぞよろしくお願いいたします。

専門家に質問してみよう