これは可能な限り明確にしようとしています。コードの混乱の可能性について私と一緒に裸をしてください。私は指定されたセルの色に応じて私に値を与える関数を持っています。次のようにこの機能は次のとおりです。VBA機能。 #VALUEエラー、数式で使用されている値のデータ型が間違っています。
Function CheckColor1(range)
If range.Interior.Color = RGB(189, 215, 238) Then
CheckColor1 = "R"
ElseIf range.Interior.Color = RGB(255, 230, 153) Then
CheckColor1 = "C"
End If
End Function
だから私のシートの上に、L1にそれは私に対応する「R」と「Cを与え、罰金である、私は= CheckColor1(a1)を持っていると私はすべての行に対してフィルダウン"を各行に割り当てます。私はM1で、その隣に= L1を使用し、もう一度塗りつぶし、コピーして値を貼り付けます。私はL列に直接コピー&ペーストの値を試しましたが、うまくいきません。
これをマクロに記録しました。私に与えた:
range("L1").Select
ActiveCell.FormulaR1C1 = "=CheckColor1(RC[-11])"
range("L1").Select
Selection.AutoFill Destination:=range("L1:L102")
range("L1:L102").Select
range("M1").Select
ActiveCell.FormulaR1C1 = "=RC[-1]"
range("M1").Select
Selection.AutoFill Destination:=range("M1:M102")
range("M1:M102").Select
を私はマクロを実行するために来るときしかし、私はL1で正しく最初の値を取得しますが、その下にあるすべての値は、私が#VALUEエラーを取得します。これは、数式で使用される値が間違ったデータ型であると言います。
私はちょっと混乱しています!手動で入力すると機能します。しかし、マクロではありませんか?列はちょうど "一般的な"形式です。
ご迷惑をおかけして申し訳ありません。
こんにちは、ありがとう、あなたのための迅速な返信。申し訳ありませんが、おそらく私はこれを元の質問に入れておきます。私がLとMに使用する範囲は、毎回変わるでしょう。小さくても大きくてもかまいません。私はこれと自動入力コード... 'ActiveCell.Offset置換されている(0、-1).Select Selection.End(xlDown).Select ActiveCell.Offset(0、1).Select 範囲(選択、Selection.End(xlUp))。選択 Selection.FillDown' しかし、私はそれに変更する前にエラーが発生していた。私はそれを変更した後もまだ発生しました。 –
私は上記の投稿を更新しました。あなたはそれをリフレッシュする必要があります –
こんにちは、ありがとうございました。申し訳ありませんが、私はこのすべての経験はありません!変数にストアは私の頭の上に行った。シートは注文のシートなので、範囲は日々変わる可能性があるので、式が必要な範囲はL:L102、L1:L80、L1:L600、M列と同じです。常に同じ量の列があります。 私のためにそれを愚かにするには、何を入れる必要がありますか? もう一度ありがとうございます! –