• 締切済み

入力された名前やIDを変数に代入させて簡単に入力

例えば セルB2に織田信長、セルB3に1022 セルB5に ='C:\Documents and Settings\Owner\デスクトップ\[1022織田信長.xls]Sheet1'!$C$5 セルB6に ='C:\Documents and Settings\Owner\デスクトップ\[1022織田信長.xls]Sheet1'!$C$6 セルB8に ='C:\Documents and Settings\Owner\デスクトップ\[1022織田信長.xls]Sheet1'!$C$8 というような式が入っているんですが、新たに番号1023の徳川家康さんを登録した時に 最下行でもいいんですが、セルC2に徳川家康、セルC3に1023が入力され セルC5に ='C:\Documents and Settings\Owner\デスクトップ\[1023徳川家康.xls]Sheet1'!$C$5 セルC6に ='C:\Documents and Settings\Owner\デスクトップ\[1023徳川家康.xls]Sheet1'!$C$6 セルC8に ='C:\Documents and Settings\Owner\デスクトップ\[1023徳川家康.xls]Sheet1'!$C$8 というような形で簡単に書き換えてくれるようなVBAの式はつくれますか?とにかく新しく新入生が入ったときに簡単に入力が出来るようにしたいです。 いい方法がありましたらお教え下さい。よろしくお願い致します。

みんなの回答

  • mshr1962
  • ベストアンサー率39% (7418/18948)
回答No.2

数式で行なうなら =INDIRECT("'C:\Documents and Settings\Owner\デスクトップ\["&$C$3&$C$2&".xls]Sheet1'!"&ADDRESS(row(),column()))

wingup
質問者

補足

ありがとうございます。 なんとなく出来そうな気がしましたが、Sheet1の$C$8をよみこんでくれません。 =INDIRECT("'C:\Documents and Settings\Owner\デスクトップ\["&$C$3&$C$2&".xls]Sheet1'!$C$8"&ADDRESS(row(),column())) ということになりますか?それとも他に入力しますか?

  • imogasi
  • ベストアンサー率27% (4737/17068)
回答No.1

質問表現がごたごたしていると思う。すっきり表現できない?。 質問は簡単な例にして、回答から質問者が自分で自分の場合においては、類推して、他を補うようにしないと。 Sub test01() For c = 2 To 6 'B列からF列までの例 Cells(5, i).Formula = "='C:\Documents and Settings\Owner\デスクトップ\[" & Cells(3, c) & Cells(2, c) & ".xls]Sheet1'!$C$5" Cells(6, i).Formula = "='C:\Documents and Settings\Owner\デスクトップ\[" & Cells(3, c) & Cells(2, c) & ".xls]Sheet1'!$C$6" '以下略 Next c End Sub のようなことを聞いているのか? 関数でもできそうな内容だと思うが。 信長と番号は変化させるのでしょうが、他はどこを変化させるのかはっきりしないが、他はセル番地だけとして上記。 ーーー 質問の書き方例 例データ B2:C3 ーーー  C列   D列 (第2行)信長 家康  以右続く (第3行)1022 1023  ・・ D列第5行に ='C:\Documents and Settings\Owner\デスクトップ\[1023徳川家康.xls]Sheet1'!$C$5 のようにしたい。 ーー C6,C8は同じタイプで質問に書く必要は無いのでは?類推できるのでは。

wingup
質問者

お礼

すみません ありがとうございます ちなみにこれをどう書けばインプットボックスなりダイアログボックスにはんえいできますか? 簡単な例でもいいのでご教授ください。 Cells(5, i).Formula = "='C:\Documents and Settings\Owner\デスクトップ\[" & Cells(3, c) & Cells(2, c) & ".xls]Sheet1'!$C$5"

wingup
質問者

補足

早速のお返事ありがとうございます。 すみません。書きたかった事は ーーー  C列   D列 (第2行)信長   1022  以右続く (第3行)家康   1023  ・・ と言うことだったんですが、解かりづらくてすみませんでした。 これからは簡潔に記入するようにします。

関連するQ&A

  • ダイアログボックスから関数と変数の挿入

    ダイアログボックスから名前とID番号を入れると最下行にその名前とIDになった関数がセルの中に挿入されるようにするにはどうすればいいのでしょうか? B50='C:\Documents and Settings\Owner\デスクトップ\[(1022徳川家康).xls]Sheet1'!$A$2 B51='C:\Documents and Settings\Owner\デスクトップ\[(1022徳川家康).xls]Sheet1'!$A$3 B52='C:\Documents and Settings\Owner\デスクトップ\[(1022徳川家康).xls]Sheet1'!$A$4 たとえばB50、B51、B52のセルに上記な関数を総合という名前のブックに作成しています。 それは1022徳川家康ブックから読み込まれます。 総合というブックにダイアログボックスがあり織田信長という名前とID1023を入れると B60='C:\Documents and Settings\Owner\デスクトップ\[(1023織田信長).xls]Sheet1'!$A$2 B61='C:\Documents and Settings\Owner\デスクトップ\[(1023織田信長).xls]Sheet1'!$A$3 B62='C:\Documents and Settings\Owner\デスクトップ\[(1023織田信長).xls]Sheet1'!$A$4 と言うように入力したいと考えています。 ダイアログボックスを使用しないで作成する方が良いのかも良くわかりませんが、このようなものは作成できるでしょうか? よろしくお願いいたします。

  • ダイアログボックスで入力したい

    たとえばダイアログボックスでIDと名前を入れると ID=1022 名前=織田信長 セルB5に ='C:\Documents and Settings\Owner\デスクトップ\[1022織田信長.xls]Sheet1'!$C$5 のように入るように作るにはどのように書けばいいでしょうか? 本当によろしくお願いいたします。

  • EXcelの、=以下の意味について

    お世話になります。 別々のExcelファイルにおいて、片方のファイルに 情報を入力すると、もう片方に情報が反映される ということを試しています。 すると下記の文(式というのでしょうか)が出てきます。 1) =Sheet2!B2 2) =[B.xls]Sheet1!$B$2 3) ='C:\Documents and Settings\会計\デスクトップ\[B.xls]Sheet1'!$B$2 4) ='C:\Documents and Settings\会計\デスクトップ\フォルダA\[B.xls]Sheet1'!$B$3 これらの 文章の意味(何をあらわしているか)ご存知の方 お教え下さい。 また、下記のマークはそれぞれ何と読み、どのような働きを しているのでしょうか? !、 [ ]、 '、 :、 \、 $、 このようなことを教えてくれるサイトをご存知でしたら あわせて教えて頂けると助かります。 宜しくお願い致します。

  • Excel - セルの値を外部シート名として認識させる

    お世話になります。 例えばデスクトップに置いてあるブックのセルを、別のブックのセルに引っ張るとき。 ='C:\Documents and Settings\UserName\デスクトップ\[Book1.xls]Sheet1'!A1 という風になりますが。 例えばBook2のセルA1に【Book3】、A2に【Sheet5】とあってこれらが可変であるとき、セルA3に ='C:\Documents and Settings\UserName\デスクトップ\[Book3.xls]Sheet5'!A1 の値を引っ張ろうと思ったら、それは可能でしょうか。 【Book3】、【Sheet5】はそれぞれユーザが任意に入力すると、テーブルの値が変わる、という風にしたいわけですが。

  • excel ファイル名の指定方法

    vlookupを使用して、数多くのフォルダ内のセル参照をしようとしています。 その中で、 =IF(ISERROR(VLOOKUP(B$2,'C:\Documents and Settings\user\デスクトップ\構成\[2093.xls]Sheet1'!$A$4:$F$28,6,FALSE)),"-","○") という式を使用しています。 この2093に相当するファイルが構成のフォルダに2094,2095,2096の様に4桁で多数存在しています。 またA列には、ファイル名に相当する値がセットされています。 A3セル;2093 A4セル:2094 A5セル;2095 … の通りです 上記の式がB3に入っているとして、2094に相当する行のB4は、 =IF(ISERROR(VLOOKUP(B$2,'C:\Documents and Settings\user\デスクトップ\構成\[2094.xls]Sheet1'!$A$4:$F$28,6,FALSE)),"-","○") の様に設定したいのです。 1つ1つ手動での修正でなく、コピーペーストみたいな感じで、 いっきに対応可能な方法はありませんでしょうか?

  • 統合マクロでパスの取得方法

    お世話になります。 集計ファイルでエリア・商品で集計をとっています。 一つのファイルにまとめたいのでエリアをシート名による串刺し 商品を統合を使って集計していますが 毎回統合ボタンを押すのが大変で マクロを使い下記のコードを使っていますがファイルのパスで固定されているので 人に渡すとファイル名の変更、ユーザーの違いによりエラーになってしまいます。 現在開いているファイルの名前とパスをマクロに取り込み統合させる事は可能でしょうか Sub Macro1() ' ' Macro1 Macro ' マクロ記録日 : 2009/9/29 ユーザー名 : user ' ' Sheets("一般A").Select Range("b6").Select Selection.Consolidate Sources:=Array( _ "'C:\Documents and Settings\user\デスクトップ\[8期資料.xls]〇〇一般A'!R6C2:R64C9", _ "'C:\Documents and Settings\user\デスクトップ\[8期資料.xls]□□一般A'!R6C2:R64C9", _ "'C:\Documents and Settings\user\デスクトップ\[8期資料.xls]△△一般A'!R6C2:R64C9", _ "'C:\Documents and Settings\user\デスクトップ\[8期資料.xls]××一般A'!R6C2:R64C9", _ "'C:\Documents and Settings\user\デスクトップ\[8期資料.xls]●●一般A'!R6C2:R64C9", _ "'C:\Documents and Settings\user\デスクトップ\[8期資料.xls]■■一般A'!R6C2:R64C9", _ "'C:\Documents and Settings\user\デスクトップ\[8期資料.xls]▲▲一般A'!R6C2:R64C9", _ "'C:\Documents and Settings\user\デスクトップ\[8期資料.xls]++一般A'!R6C2:R64C9", _ "'C:\Documents and Settings\user\デスクトップ\[8期資料.xls]※※一般A'!R6C2:R64C9", _ "'C:\Documents and Settings\user\デスクトップ\[8期資料.xls]%%一般A'!R6C2:R64C9"), _ Function:=xlSum, TopRow:=False, LeftColumn:=False, CreateLinks:=False Sheets("一般B").Select Range("b6").Select Selection.Consolidate Sources:=Array( _ "'C:\Documents and Settings\user\デスクトップ\[8期資料.xls]〇〇一般B'!R6C2:R64C9", _ "'C:\Documents and Settings\user\デスクトップ\[8期資料.xls]□□一般B'!R6C2:R64C9", _ "'C:\Documents and Settings\user\デスクトップ\[8期資料.xls]△△一般B'!R6C2:R64C9", _ ・ ・ ・ ・ End Sub DIMとかActiveWorkbook.Pathとか組み込みましたが うまく行かないです。 どうぞ助けてください。

  • マクロFormulaで入力する式に変数を使うと定義のエラーと出る

    価格表を元に、型番から価格を検索するマクロを作りたいのですが、 i = kakakuretu - katabanretu Selection.FormulaR1C1 = "=IF(ISNA(VLOOKUP(RC[i],'C:\Documents and Settings\@\My Documents\東京購入分\[東京購入分.xls]sheet1'!C2:C5,4,FALSE)),"""",VLOOKUP(RC[i],'C:\Documents and Settings\@\My Documents\東京購入分\[東京購入分.xls]sheet1'!C2:C5,4,FALSE))" とすると、iが定義エラーになってしまいます。 初心者でネットを見ながら記録マクロをいじるくらいしか出来ないので 定義などよくわかりません。教えて下さい。

  • エクセルマクロでマクロをアクティブにしたくない

    エクセルのマクロをひとつの「マクロA」という名前で、データーファイルからセルに入っている内容などを呼び出しながらまくろAのシートにデーターを貼り付けながら作業をしています。 Workbooks.Open Filename:= _ "C:\Documents and Settings\owner\My Documents\マクロ.xls" Application.Run "マクロ.xls!マクロ" と記載すると、マクロXLSがアクティブになってしまいます。 その為記載に'ActiveWindow.WindowState = xlMinimized と入れたりするのですが、アクティブになるシートがマクロ以外にうまくいかないことがあるのです。 データーシートは、毎回データーが変わる関係で、DATA.xlsがAのときやBのときが発生します。

  • 名前が一文字の武将はいたのか?

    織田信長や豊臣秀吉、徳川家康など今まで聞いたことのある 人たちはみんな名前が二文字なのですが 1文字の人っていうのは存在したのでしょうか? 教えてください。

  • 平清盛・源義経・菅原道真などは、なぜ苗字?のあとに「の」が付くのでしょうか?

    タイトル通りです。 なぜ彼らには「の」が付き、徳川家康や織田信長には「の」が付かないのでしょうか?

専門家に質問してみよう