SSブログ

エクセル小僧:数式を変更 [コンピューター]

またまた、エクセルねたですが。。

別の用事(?)があって、エクセルの数式をコピーするマクロを作ったのですが、あまり個人的なエクセルだったので、時流ねたの税率変更にすりかえました。

税抜き価格(C列)に1.05を掛けて税込価格(D列)を出すエクセルがあります。

001.jpg

これをマクロを使って、
 1.税込価格(D列)の式を(旧)税込価格(E列)にコピー
 2.税込価格(D列)の式に含まれる「1.05」を「1.08」に置換
 3.1番と2番を繰り返す
という処理をします。

セルに含まれる式を参照したり、設定するには「.Formula」を使います。

税率5%の式を確認するため、InStr()を使って、「1.05」が含まれているか調べます。
「1.05」が含まれていれば、Replace()を使って「1.08」に置換します。

マクロを実行すると、こんな感じになります。

002.jpg

【コード】
Sub ChTax1()
  ' 税率変更(5% ⇒ 8%)
  Dim myF1(1) As String ' 式
  Dim i As Long ' 整数
  For i = 18 To 24
    ' 税込(D列)の式を入手
    myF1(0) = Cells(i, 4).Formula
    If InStr(myF1(0), "1.05") > 0 Then
      ' 税率が5%のとき、以下を実行
      ' 税込(D列)の式を(旧)税込(E列)にコピー
      Cells(i, 5).Formula = myF1(0)
      ' 税込(D列)の式を税率8%に変更
      myF1(1) = Replace(myF1(0), "1.05", "1.08")
      Cells(i, 4).Formula = myF1(1)
      MsgBox "税込(旧)の式:" & myF1(0) & vbNewLine _
      & "税込(新)の式:" & myF1(1)
    End If
  Next i
End Sub
ヤバイぜ!(17)  コメント(1)  トラックバック(0) 
共通テーマ:日記・雑感

ヤバイぜ! 17

コメント 1

cheese999

「やったぜ!」 ありがとうございます。[__猫]
by cheese999 (2014-03-02 22:21) 

Facebook コメント

トラックバック 0

トラックバックの受付は締め切りました

この広告は前回の更新から一定期間経過したブログに表示されています。更新すると自動で解除されます。