クーポン レベルの航空税データを含む一連のデータが与えられ、YQ からインターライン可能な税を分割し、EUR と USD に換算する必要がありました。必要に応じてレポートを作成するために約 1100 行の VBA を実行した後、合計を計算して完了です。
基本的に、税金データはスクリーンショット @ http://i.imgur.com/qnOWg.jpgに表示されるものに似ていますが、はるかに大きなスケールです。データから考えられる各税コードを取り出して合計を作成する必要がありますが、そこで行き詰まっています。データが税コードごとに列に並べられていれば、それほど問題にはなりませんでしたが、これはまったく必要ないものであり、クーポンにクーポンがない場合はさらに多くの列が作成されるためです。特定の税:
YQ BE IT HB EX MJ VT
YQ BE DE RA
次のようになります。
YQ BE IT HB EX MJ VT
YQ BE DE RA
最初のよりコンパクトなビューが優先されました。
とにかく、通貨に応じて各種類の税金を合計するにはどうすればよいですか? 私が理解している限り、これは 2 つの条件に基づく合計です: 範囲内の任意のセルの場合:
「A_CELL.OFFSET(0,-1) = [税コード] AND THAT_SAME_CELL.OFFSET(0,1) = [通貨]」という条件に一致する範囲 A2:L12 内の任意のセルの合計を作成します。
誰かがこれを成し遂げる途中で私を助けてくれますか?
前もって感謝します。乾杯!
更新:必要な結果を取得するために使用されるVBA関数:
Function SumOf(taxStr As String, curStr As String, wrkRange As Range) As Double
Dim taxSum As Double
Dim rngCell As Range
On Error GoTo SumOfError
taxSum = 0
'Set wrkRange = rangStr
For Each rngCell In wrkRange
If rngCell.Column > 1 And rngCell.Offset.Column < wrkRange.Columns.Count - 1 Then
If (rngCell.Offset(0, -1).Value = taxStr) And (rngCell.Offset(0, 1).Value = curStr) Then
taxSum = taxSum + Val(rngCell.Value)
End If
End If
Next rngCell
SumOf = taxSum
Exit Function
SumOfError: SumOf = 0 終了関数