次の方法で共有

条件付き書式をそのまま転送して表示する方法をお教えください。

Anonymous
2016-08-02T05:37:51+00:00

エクセルのマクロを使用して転送元から転送先へのデータの貼り付けを行いたいと思います。

転送元ブックで条件付き書式を使用し、フォントや塗りつぶしの色を変更しています。

例えば①NG選択時②3以下③500±5を外れる、といった条件時にフォントを黒から赤、塗りつぶしを無からピンクに変えています。

そして、データを蓄積していく目的でマクロでデータを転送していますが、その際、上記の①‐③の様に条件を外れた際の

条件付き書式をそのまま転送し、転送先でもフォントを赤、塗りつぶしをピンクで表示したいのです。

『xlPasteFormulasAndNumberFormats』や『xlPasteValuesAndNumberFormats』、『xlPasteValidation』といったものを使用してみましたがうまくいきませんでした。

対応方法をお教え頂けないでしょうか。

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

Microsoft 365 と Office | Excel | 家庭向け | Windows

ロックされた質問。 この質問は、Microsoft サポート コミュニティから移行されました。 役に立つかどうかに投票することはできますが、コメントの追加、質問への返信やフォローはできません。

0 件のコメント コメントはありません

質問作成者が受け入れた回答

Anonymous
2016-08-05T12:49:11+00:00

紹介したリンク先のマクロは、マクロを実行するときのアクティブシートにある条件付き書式の設定を通常の書式に変換するものです。

このコマンドを実行してから移動先にコピー貼り付け(「すべて」貼り付け)の操作を行えば、元の条件付き書式で設定した書式をそのまま貼り付けることができます。

この回答は役に立ちましたか?

0 件のコメント コメントはありません

5 件の追加の回答

並べ替え方法: 最も役に立つ
  1. Anonymous
    2016-08-04T07:12:29+00:00

    情報をありがとうございました。

    確認させて頂きましたが申し訳ございません、私自身初心者なものでこの下記マクロをどこへどのように使用するかが分かりません。

    転送先の標準モジュールに張り付ければよいのでしょうか?

    貼り付けるだけでは読み込まれないかとも思いますし…。

    また始めの『このマクロは、条件付書式が、「数式が 」で設定されたものに限ります。』という一文も、『Paste:=xlPasteFormulas』を使用するという事でよいのかどうか…、というところで疑問に思っています。

    重ね重ね申し訳ございません。

    アドバイスの程、よろしくお願いします。


    [http://oshiete.goo.ne.jp/qa/2415760.html より]

    このマクロは、条件付書式が、「数式が 」で設定されたものに限ります。そうでない場合、オプションを作らなくてはなりません。色は、フォントとパターンのみに対応しています。

    'なるべく、標準モジュールに設定してください。

    Sub FindFCondition2Format()

    '条件付書式の色設定を、一般書式の色に換える

     Dim r As Range

     Dim c As Range

     Dim i As Integer

     Dim fc As Object

     On Error GoTo ErrHandler

     Set r = ActiveSheet.UsedRange.SpecialCells(xlCellTypeAllFormatConditions)

     Application.ScreenUpdating = False

     For Each c In r

      'セルを動かさないと、数式が取れない

      c.Activate

      Set fc = c.FormatConditions

      For i = 1 To fc.Count

       '判定

       On Error Resume Next

       If Evaluate(fc(i).Formula1) Then

        c.Font.Color = fc(i).Font.Color

        c.Interior.ColorIndex = fc(i).Interior.ColorIndex

       End If

        On Error GoTo 0

      Next i

      c.FormatConditions.Delete

     Next c

     Set r = Nothing

     Application.ScreenUpdating = True

     Exit Sub

    ErrHandler:

     MsgBox "条件付書式が見つかりません。", vbInformation

    End Sub

    この回答は役に立ちましたか?

    0 件のコメント コメントはありません
  2. Anonymous
    2016-08-03T14:53:02+00:00

    数式を使った条件付き書式なら以下のページが参考になるのではないでしょうか。

    条件付書式設定でつけた色を残したまま条件式を解除する方法は?http://oshiete.goo.ne.jp/qa/2415760.html

    この回答は役に立ちましたか?

    0 件のコメント コメントはありません
  3. Anonymous
    2016-08-03T11:48:20+00:00

    ご回答頂きましてありがとうございました。

    実は、転送先のシートにも同じ条件付き書式設定を既に取り入れています。ただこの状態では、条件を変更した場合設定した色まで変更されてしまいます。

    例えば7/31までは5〜10以外を赤文字、8/1以降10〜15以外を赤文字とする場合に7/26に7で正常値の黒文字だったのが、8/1以降条件付き書式で変更する事で7/26の正常値まで赤文字に変更されてしまうと思います。

    これを防ぐ為に、条件付き書式で変更後も過去データはそのままの色等の状態で残しておきたいので、セル内の数字や色をそのままコピー、貼り付け出来る手段があればと思い質問させて頂きました。

    条件付き書式で変更する毎にブックを変える案もありましたが、過去のデータ比較を一枚のシート内で比較したいのです。

    無理を言いまして申し訳ございませんが、良い案がありましたらご教示頂ければと思います。

    よろしくお願いします。

    この回答は役に立ちましたか?

    0 件のコメント コメントはありません
  4. Anonymous
    2016-08-03T04:04:58+00:00

    >そして、データを蓄積していく目的でマクロでデータを転送していますが、その際、上記の①‐③の様に条件を外れた際の条件付き書式をそのまま転送し、転送先でもフォントを赤、塗りつぶしをピンクで表示したいのです。

    通常なら、条件付き書式を含めて、すべての設定をコピー貼り付けする方法でうまくいくような気がしますが、現在はどのような手順でコピーデータを転送しているのでしょうか?

    現在のコードをそのまま利用するなら、転送先のシートにも同じ条件付き書式を設定しておき、元データを「値」貼り付けするような処理が簡単だと思います。

    この回答は役に立ちましたか?

    0 件のコメント コメントはありません