会計システムからデータを落としたりすると貸方の金額がマイナスで出て来たりすることがあります。そんなときに符号を一括で変換するマクロです。
手順は1000で割る手順と同じです
やりたいことは以前に投稿した「選択しているセルを1000で割るマクロ」と同じです。「千で割る」かわりに「‐1を掛ける」ことで符号を逆転させます。
「形式を選択して貼り付け」の「演算」機能を使います。
「形式を選択して貼り付け」の「演算」の機能を使えば、複数のセルをまとめて処理することが可能です。
・任意のセルに -1 と打つ
・それをコピー
・符号を逆転させたいセルを選択して、形式を選択して貼り付け⇒値と乗算を選択して貼り付ける
やり方の詳細は、「選択しているセルを1000で割るマクロ」の記事の「1000」を打つところを -1に変更し、形式を選択して貼り付けの演算で「除算」ではなく「乗算」を選択します。

選択しているセルを1000で割るマクロ
人によって作っている資料の単位が違って困ることありますよね。そんなときに便利なマクロです。形式を選択して貼り付けの「演算」機能「形式を選択して貼り付け」の「演算」機能を使う資料を作るときに円単位の資料を千円単位に直...
この機能を使ってマクロでやってみる
手作業だと、
・任意のセルに-1と打つ
・それをコピー
・符号を逆転させたいセルを選択して、形式を選択して貼り付け⇒値と除算を選択して貼り付ける
という手順でした。
これをマクロでやってみようと思います。
符号を逆転したいセルを選択した状態で(範囲やCtrlで複数の範囲でも可)、マクロを実行すると、選択中のセルのすべてに-1を掛けて符号を逆転することができるマクロです。
10行目の「.PasteSpecial」が形式を選択して貼り付け、「Paste:=xlPasteValues」が値貼り付け、「operation:=xlMultiply」が乗算(掛け算)です。
Sub sample() '適当なセルに-1いったん入力 Range("IV1") = -1 'そのセルをコピー Range("IV1").Copy '選択セルに、形式を選択で貼り付け(値、除算) Selection.PasteSpecial Paste:=xlPasteValues, operation:=xlMultiply '-1を入れたセルを削除 Range("IV1").Delete Shift:=xlShiftToLeft End Sub
「operation:=xlMultiply」を変えると掛け算だけでなく、足し算、引き算、掛け算もできます。
機能 | ソースコード |
---|---|
加算貼付け | Operation:=xlAdd |
減算貼付け | Operation:=xlSubtract |
乗算貼付け | Operation:=xlMultiply |
除算貼付け | Operation:=xlDivide |
10を掛けたり、10で割ったりするマクロを作れば汎用的に単位を変更できるマクロとすることもできます。
コメント