Top> よくつかうプログラム> エクセル関数の文字の置換

VBA通信教材申込み

VBA課題解決型実践塾セミナー内容

申込 ヤフーショッピング

エクセル関数の文字の置換

エクセル関数の文字の置換

消費税が5%から8%に変わります。
エクセルの式の中に0.05の数字を使っている箇所が多数ある場合VBAで自動で見つけるサンプルを紹介します。

エクセル関数の文字の置換

0.05の件数

エクセルのセルは数字・文字と式が入ります。
先頭に=が付けば式それ以外は数字・文字と判断します。
また数字なら右詰文字なら左詰となるように、非常によくできています。
長い式になると分かりにくくなりますのでVBAの登場となります。
CELLS(行,列).value
CELLS(行,列). Formula
は数字・文字か式を判断します。
通常valueは省略することが多いですが式を判断する場合はFormulaが必要です。
文字列の位置を返す関数InStrを使って0でなければ変数kensuに1を加算しています。
あとは行・列を繰り返しで1000X100=10万個のセルを判断しています。
コンピュータの力によりますが私のコンピュータでは1秒です。
Sub 件数()
  Dim i As Long
  Dim j As Long
  Dim kensu As Long
  For i = 1 To 1000
    For j = 1 To 100
      If InStr(Worksheets("元").Cells(i, j).Formula, "0.05") <> 0 Then
        kensu = kensu + 1
      End If
    Next
  Next
  MsgBox "式の中に0.05が入っている件数は" & kensu & "です。"
End Sub

0.05のある行列番号と式の内容を表示

MsgBoxで表示していますが多い場合は作業シートにコピーしてもよいかもわかりません。

エクセル関数の文字の置換

Sub 確認()
  Dim i As Long
  Dim j As Long
  For i = 1 To 1000
    For j = 1 To 100
      If InStr(Worksheets("元").Cells(i, j).Formula, "0.05") <> 0 Then
        MsgBox "行" & i & "列" & j & Worksheets("元").Cells(i, j).Formula
      End If
    Next
  Next
End Sub

0.05を0.08に置換

変換するセルが間違っていなければここがコンピュータの正確で早い所です。

エクセル関数の文字の置換

Sub 置換()
  Dim i As Long
  Dim j As Long
  For i = 1 To 1000
    For j = 1 To 100
      If InStr(Worksheets("元").Cells(i, j).Formula, "0.05") <> 0 Then
        Worksheets("元").Cells(i, j) = Replace(Worksheets("元").Cells(i, j).Formula, "0.05", "0.08")
      End If
    Next
  Next
End Sub

 

 

塾長あいさつ
基本方針(考え方)
通信教育内容
課題解決セミナー内容
初心者基礎コース内容
カリキュラム・料金
案内地図・各種リンク
問合せ・申込み
アベノ塾
システムの内製化
アサイコンピュータACS
応用部品集(有料)
販売管理(事例)
財務管理(事例)
顧客管理(事例)
見積もり(事例)
給与(事例)
介護(事例)
ゴースト暗算(事例)
部品集(部品の基礎)
部品集(シート関連)
部品集(データベース)
部品集(セル関連)
部品集(関数)
部品集(フォーム関連)
部品集(ブック関連)
部品集(その他)
変数の勉強
繰り返しと条件文
マスター登録.訂正.削除
フォルダー内のファイル
項目をシート名で作成
ブックの操作
CSVファイルの取り込み
呼び出し元・先
商品マスター検索
エクセル関数をVBAで
エクセル関数を使う
よくつかうプログラム
販売管理(ソース)
財務管理(ソース)
給与管理(概要・画面)
見積もり(概要・画面)
工程管理(概要・画面)
原価管理(概要・画面)