これは私の最初の投稿です。できるだけ明確になるように最善を尽くします。Excelワークシート変数ワークシートの範囲を合計する
ここでは正しい解決策としてUDFに整理されていますが、それは主に機能が組み込まれているものを理解できなかったためです。
私のワークブックは、「要約シート」と「{システムテンプレート}」の2枚からなります。要約シートでは、システムのリストを作成します。そのリストから、{システムテンプレート}を使用して新しいワークシートを生成し、リスト内の値に基づいてシートに名前を付けるコードがあります。要約シートのシステム名を含むセルの横にあるセルでは、それぞれのシート上の異なるシステムのそれぞれについて「Q:Q」の範囲内の値を合計しようとしています。変化している範囲の唯一の部分は、データが来るシート名です。これは私が困っているところです。 #Valueエラーが発生し、どこに問題があるのかわからない。通常は、組み込みの数式評価ツールを使用しますが、UDFでは無用です。どんな助けでも大歓迎です。
Function FrictionSum(rngInput As Range)
Dim rngCell, rngDomain As Range
Dim strName As String
FrictionSum = 0
'FrictionSum = rngInput.Value
Set rngDomain = Sheets(strName).Range("Q:Q")
For Each rngCell In rngDomain
FrictionSum = FrictionSum + rngCell.Value
Next rngCell
End Function
あなたは 'Function'定義されていますが、あなただけの、' Sub'使用することができます何かを返すされていないか、またはあなたが 'としてそれを定義する必要があり機能FrictionSum(rngInputとしてレンジ)たとえば、「長い間」。また、あなたは 'rngInput'を渡していますが、** UDF **の中では何もしていませんか? –
したがって、式= = SUM(間接( "'"&A1' "!Q:Q")) 'ここでA1はシート名が機能しませんでしたか? –
また、strNameに値を代入しないで、Excelは推測する必要がありますか? –