[[20220114103500]] 『数式内の文字列を置換したい』(まさ) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『数式内の文字列を置換したい』(まさ)

お世話になります。

元データのエクセルファイルから各データを参照する数式を入れ、
それを月々更新するVBAを作成したいと思っております。

参照するファイルは同じフォルダに格納され、『〇〇(2021.11)』、『〇〇(2021.12)』という形で年月のみ更新されたファイル名で毎月届きますので
セルに入れている式の年月部分のみ更新すれば最新のデータが反映されるようになっています。

しかし、ネットで調べ自分なりに作成したのですが、数式の内容を変更する方法がわからず、
結局マクロではなく全体置換で更新をしている状態です。

数式内のファイル名を変えるにあたり
Replace What:="2021.11", Replacement:="2021.12"
の部分を自動で変更できるような方法はございませんでしょうか。

初心者な質問で申し訳ありませんが、お力添えいただければ幸いです。

よろしくお願いします。

< 使用 Excel:Excel2016、使用 OS:Windows10 >


>自動で変更できるような方法

できると思いますが、どう変更するのかを指定しなければなりません。

(わからん) 2022/01/14(金) 11:29


 アイデアだけですが

 1.Findメソッドで、*〇〇(20*.*)* に合致するセルがあるかどうかチェックする。
   ※どのセルにその参照数式が入っているか分かっている場合は、始めからそのセルをターゲットに選ぶ

 2.Mid関数などを使って、当該セルデータの()の中の文字を取り出して、翌月の日付を作る。
   例:2021.12なら2022.1と言う文字を作り、新ブックの名前を決定する。
     ※月が1桁の場合、頭に0を補う必要があるかどうかは過去のファイル名を調べて決める

 3.新ブックが想定フォルダ内に存在するかチェックし、あれば数式文字の置き換えを実行する。

(半平太) 2022/01/14(金) 11:40


ご返信ありがとうございます。

>わからん様
指定というのは、例えばA1セルの値をA2セルの値に、ということも可能なのでしょうか。

A1に前々月(yyyy.mm)、A2に前月(yyyy.mm)と表示される式を入れれば
その文字列を活用することもできるのでしょうか。

もし可能であれば、やり方を教えていただければ有難いのですが…

>半平太様
ご提案ありがとうございます。

ネットで詳細を調べ、付け焼刃ですができそうならやってみたいと思います。
(まさ) 2022/01/14(金) 12:06


そっちでしたか。

>Replace What:="2021.11", Replacement:="2021.12"

"2021.11" を Range(“A1”)
"2021.12" を Range(“A2”)

(わからん) 2022/01/14(金) 12:34


>わからん様
ありがとうございます。なんとかなりそうです。

本当に初歩的な質問にお時間をいただいてしまい申し訳ございませんでした。
とても助かりました。
(まさ) 2022/01/14(金) 12:47


コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.