[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『別シートで同じ数式』(わかばマーク)
こんにちは。教えて下さい。 同一ブック内の別シート(セル位置は同じ)に同じ数式を入れる場合は マクロを使わないと出来ないでしょうか? 現在、シート1〜5までのセルB2全てに =IF(OR(A1={"あ","い","う","え","お"}),1,IF(A1="か",2,IF(A1="さ",3," "))) のような式が入っています。今のままだと式の一部に変更があった場合 全てのシートの式を修正することになり、手間がかかる上にミスも起こり易いかと 思ったのですが・・・エクセル初心者(上の式も合っているのか不安)な上 マクロを使えない事情があるので・・・どなたか詳しい方、ご教授お願いいたします。
作業グループにすればできます。 SheetタブをCtrlを押しながらクリックすると作業グループにできます。 (ROUGE)
ありがとうございます。出来ました! よろしければ、もう1つ教えて下さい。例えば後で修正(変更)が出た場合に 同様の作業をすれば良いのは判るのですが、私だけがこのファイルを使う訳では ないので、もし、シート1のセルB2の式を修正した場合 自動的?に他シートの同一式も修正されるようにする・・・ と言うのは、やはりマクロになるのでしょうか? (わかばマーク)
「同じ式」じゃないとダメなのですよね? 「同じ値」でよければ、 =シート1!A1 ← シート1のA1セルと同じ値
(Ohagi)
Ohagi様> そうなんです。シート毎にA列に入る値が違っていて 結果、B列に返って来る値も違うのですが、導き出すための式は同じなのです。 自分で修正する分には、ROUGE様の方法で出来るのですが、他の人が知らずに 1つずつ直すのでは、ミスも起こりそうですし・・・ ベースとなるシートを 作って、式の参照?とでも言うのでしょうか? が出来ないかなと・・・ 「どのシートでもB1に入る式はこれ!」みたいな感じで。 うまく説明できなくてごめんなさい(汗) (わかばマーク)
マクロで制御案。 Alt+F11を押して出てきた画面の左側にあるVBAプロジェクトのThisWorkbookをダブルクリック。 右の白い画面に下記のコードを貼り付けて閉じる。 すべてのシートを対象にしていますので、数式入力不要のシートがある場合には修正が必要です。 (ROUGE) '---- Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range) Dim c As Range, ss As String, ws As Worksheet For Each c In Target If c.HasFormula Then ss = c.Formula For Each ws In Worksheets If ws.Name <> Sh.Name Then Application.EnableEvents = False If c.HasArray Then ws.Range(c.Address).FormulaArray = ss Else ws.Range(c.Address).Formula = ss End If Application.EnableEvents = True End If Next End If Next End Sub
「マクロを使えない事情がある」って書いてありますけど、、、。 (純丸)(o^-')b ※それで自分も考えあぐんでまする。
=INDIRECT(MID(CELL("filename",$A$1),FIND("]",CELL("filename",$A$1))+1,31)&"!$A$1") で、ワークシート名が可変になると思うので…
=IF(OR(INDIRECT(MID(CELL("filename",$A$1),FIND("]",CELL("filename",$A$1))+1,31)&"!$A$1")={"あ","い","う","え","お"}),1, IF(INDIRECT(MID(CELL("filename",$A$1),FIND("]",CELL("filename",$A$1))+1,31)&"!$A$1")="か",2, IF(INDIRECT(MID(CELL("filename",$A$1),FIND("]",CELL("filename",$A$1))+1,31)&"!$A$1")="さ",3," ")))
(Ohagi)
マクロじゃないと無理でしょう.. どのシートのセルを変更するのか不明なんでしょ? (seiya)
皆様ありがとうございます。 やはり、簡単(?)なのはマクロなんですね(^_^;) 事情・・・と言うほどでもないのですが、主にこのファイルを使う会社の人が エクセルとCADの区別も付かない様なおじさんで、マクロ=ウイルスと 思い込んでいるのか、マクロ使ってあると削除されるんです(汗) せっかく教えていただいたので、おじさん説得して、ROUGE様の方法とOhagi様の方法 両方試してみます。 (わかばマーク)
基本のシートの B2 (どこでもよい) に、 IF(OR(A1={"あ","い","う","え","お"}),1,IF(A1="か",2,IF(A1="さ",3," "))) と入力。 ^^ = は、入れない。 挿入>名前>定義で 名前を keisan 参照範囲を =EVALUATE($B$1) と入力してOKをクリック。 シート1〜5までの B2 には、=keisan+Now()*0 と入力。 これで、基本シートのB2に入れた数式が適用されます。 って、いくらマクロを使わないからと言ってもかえってややこしすぎるかも。 (純丸)(o^-')b
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.