EXCEL VBAマクロで質問です。セル中の式で値だけ更新したいのですが、方法がわかりません。
セルA1に={14}+(7.75*4)+(7.75*3)の様に計算式が入っています。()内に記述された数値は週ごとの予想作業時間だとします。{}内に記述された数値は実績時間です。
別のシートで計算した週の実績時間が24だったとして、セルA1の式中の(7.75*4)の予想時間部分を実績時間の{24}に置き換えたいと思っています。セルA1に={14}+{24}+(7.75*3)の様に。。。。
とりあえずRange("A1").Formulaで式の取り出しができるところまではできました。
が置き換えの方法がわかりません。このような事をVBAマクロで行いたいのですが教えてください。
No.4ベストアンサー
- 回答日時:
添付画像のような表を作ってはどうでしょう。
C2~G2セルに週ごとの予想時間を入力し、H2セルに「=SUM(C2:G2)」と入力します。
C3~H3セルには次の数式を入力します。
C3 =C2
D3 =D2
E3 =E2
F3 =F2
G3 =G2
H3 =SUM(C3:G3)
この後、C3~H3セルをC4~H7セルにコピーし、C3、D4、E5、F6、G7を空欄にします。
マクロで2週目の実績時間を入力するには次のようにします。
Range("D4").Value = 24
マクロでは、置換できないようなので質問締め切ります。
ほかのツール(Perl)で行う様にしてみます。
回答ありがとうございました。
No.3
- 回答日時:
マクロを使用しなくてもエクセルの置換は数式も置換できるため
メニューの編集→置換で
検索する文字列:(7.75*4)
置換後の文字列:{24}
と設定すれば更新できるのではないでしょうか?
この回答への補足
回答ありがとうございます。説明が足りなかったようです。人間の入力では間違うので、マクロでボタン押したら全て更新できるようなものを考えています。
補足日時:2010/10/15 14:19No.2
- 回答日時:
追記。
「別のシートで計算した週の実績時間」が「Sheet2」シートの「D9」セルに入っているなら
Range("A1").Formula = "=14+Sheet2!D9+(7.75*3)"
でオッケー。
この回答への補足
意図した回答には近いのですが、
これですと他のシートとリンクされています。元ファイルは無くなるという前提とA1セルに数値の合計式で残しておきたいという前提で考えています。少し詳細な仕様は以下の様になっています。
以下(1)~(4)をマクロボタン操作で自動に行いたいと思っています。(3)が不明です。
(1)別のXlsシートを開いて、合計時間算出と取り込み
(2)集計シートのセルA1の式取り込み。14+(7.75*4)+(7.75*3)
(3)集計シート内のセルA1の該当の週(最初の()内)を(1)で取り込んだ時刻に置換する。
2週目、3週目では以下の様になります。
2週間目:=14+(7.75*4)+(7.75*3) ⇒ =14+[24]+(7.75*3)
^^^^^
3週間目:=14+[24]+(7.75*3) ⇒ =14+[24]+[15]
^^^^^
A1の式はそのまま数値の合計として残しておきたいので
"=14+Sheet2!D9+(7.75*3)"の様な記述ではなく。 "=14+[24]+(7.75*3)"の様に実績と予定の時間で残しておきたい。
又、次の週の集計時は同じように"=14+[24]+[15]"の様に更新を行いたいです。
(4)集計シートを保存。
以上 よろしくお願い致します。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) 顧客ごとに違う点検案内を作成するマクロ 4 2022/09/16 05:34
- Excel(エクセル) エクセルVBAでセルに表示されているとおりの数値を取得したい(時間の計算結果) 1 2022/03/30 17:52
- Excel(エクセル) エクセルのセル値に対応してマクロを実行する方法を教えてください セルA1が「1」の時にマクロ名「マク 2 2022/06/19 18:45
- Excel(エクセル) エクセルのマクロについて教えてください。 1 2022/08/04 13:56
- Excel(エクセル) マクロだと数式が表示される 2 2022/09/10 14:48
- Excel(エクセル) エクセルの関数式を教えてください。 2 2022/11/29 21:09
- Excel(エクセル) Excleマクロ セル値の代入と文字列の結合について 3 2022/10/05 16:47
- Excel(エクセル) エクセルのマクロについて教えてください。 2 2023/02/26 13:19
- Excel(エクセル) エクセルのマクロについて教えてください。 3 2023/02/07 14:47
- Visual Basic(VBA) vbaエクセルマクロ RemoveDuplicatesについて RemoveDuplicatesを使 1 2023/02/27 22:21
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
特定のセルが空白だったら、そ...
-
ExcelVBAを使って、値...
-
【Excel VBA】指定行以降をクリ...
-
【Excel】指定したセルの名前で...
-
i=cells(Rows.Count, 1)とi=cel...
-
特定の文字を条件に行挿入とそ...
-
DataGridViewの各セル幅を自由...
-
Excel vbaで特定の文字以外が入...
-
Excelのプルダウンで2列分の情...
-
Excelのハイパーリンクにマクロ...
-
【VBA】シート上の複数のチェッ...
-
Excelで指定した日付から過去の...
-
実行時エラー438 オブジェクト...
-
指定した条件で範囲選択したい
-
EXCELで変数をペーストしたい
-
VBAを使用した時間管理
-
EXCELのVBA-フィルタ抽出後の...
-
VBA初心者です。結合セルを保持...
-
UWSCで値のみコピーするには?
-
DataGridViewのセルのItem設定...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ExcelVBAを使って、値...
-
特定のセルが空白だったら、そ...
-
i=cells(Rows.Count, 1)とi=cel...
-
【Excel VBA】指定行以降をクリ...
-
Excelで指定した日付から過去の...
-
【Excel】指定したセルの名前で...
-
Excel vbaで特定の文字以外が入...
-
特定の文字を条件に行挿入とそ...
-
TODAY()で設定したセルの日付...
-
screenupdatingが機能しなくて...
-
Excelのプルダウンで2列分の情...
-
EXCELで変数をペーストしたい
-
連続する複数のセル値がすべて0...
-
Excel VBA、 別ブックの最終行...
-
VBAを使用した時間管理
-
エクセルVBAでコピーして順...
-
セル色なしの行一括削除
-
【EXCEL VBA】Range("A:A").Fi...
-
VBA コピーして次の値まで貼り...
-
VBA初心者です。結合セルを保持...
おすすめ情報