[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『30以上のブックのシートモジュールを一部修正したい』(sukekiyo)
おしえてください。
題名の通りなのですが、やり方がわかりません。
おんなじコードが書かれたブックが30以上あり、
おんなじ部分を一部修正したいのです。
ただ、ファイル名やシートのセルに入っている情報がそれぞれ違うため、
コピーなどはしたくないのです。
< 使用 Excel:Excel2016、使用 OS:unknown >
(マナ) 2019/06/08(土) 15:23
(マナ) 2019/06/08(土) 18:00
何度でも書き直してみるのが、「素人?」から脱出する道かと思いますが、、、、
>おんなじコードが書かれたブック
>おんなじ部分を一部修正したいのです。
基本同じコードなら、コピペで対応できるように書けばいいかと思います。
シートジュールにコードを書いているなら、
そのシートを「Me」というキーワードで表現できます。
その他も何らかの方法で上手くVBA語で表現できると思いますので、
現状のコードを提示して添削してもらってはいかがでしょうか?
当然前提条件として、シート上にどのように配置されているかの説明も必要です。
その時には結合セルの有無や、表中の空白行、空白列の有無なども情報を提示してください。
個人的には、同じマクロがあるブックが複数あるのは気持ち悪いので、
マナさんが提案されているように、マクロブックとデータブックを分ける案に1票です。
気付いたときに、不具合をちょいちょいメンテナンスしてると、
どれが最新版かわからなくなりそうです^^;
(まっつわん) 2019/06/08(土) 18:22
こんばんは! 例えば、シートモジュールに ooo というフレーズがあったら、kkk に書き換えます。
すみません。↓これ見逃してました(^^;
>30以上のブックの
理論上は↓ですけど、、、試していません。
昔、マクロの師匠からウィルスは書いちゃだめ、、、って言われてましたけど、、
怪しいぃぃコードですね(^^;
まぁ、、後は適当に応用してください。。。
では、、では、、また、、
Option Explicit Sub てすと() Dim wb As Workbook Dim ws As Worksheet Dim MyCode As String For Each wb In Workbooks For Each ws In wb.Worksheets With wb.VBProject.VBComponents(ws.CodeName).CodeModule MyCode = Replace(.Lines(1, .CountOfLines), "ooo", "kkk") Debug.Print MyCode End With Next Next End Sub
セキュリティーセンター→マクロの設定→で↓
VBA プロジェクト オブジェクト モデルへのアクセスを信頼する(V)
にチェックを入れて下さい。 (SoulMan) 2019/06/08(土) 19:57
(sukekivo) 2019/06/08(土) 23:10
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.