- 締切済み
シート挿入について
ExcelFile A とExcelFile Bがあります。 まずAを開きB挿入ボタンでBを別シートで読み込みを行なっていますが B(固定)ではなくBを含む文字列にしたいのですが どのようにすればいいのでしょうか? 現在の設定は Workbooks.Open Filename:=Workbooks("A.xls").Path & "\B.xls" となっています。
- みんなの回答 (3)
- 専門家の回答
みんなの回答
- hige_082
- ベストアンサー率50% (379/747)
- fujillin
- ベストアンサー率61% (1594/2576)
- hana-hana3
- ベストアンサー率31% (4940/15541)
関連するQ&A
- EXCELファイル挿入について
Excel2000を使用してます。 前回質問したのですが問題が生じたので再度質問します。 ExcelFile A とExcelFile Bがあります。 まずAを開きBを別シートで読み込みを行ないたいのですが どのようにすればいいのでしょうか? ExcelFile A はシート1とシート2の二つのシートに分かれています。 ExcelFile Bはシートが一つでこのシートを丸ごとExcelFile Aのシート3として挿入を行いたいだけです。 以前に質問した際にはExcelFile B(固定名)でしたが、 それは無事解決できました。 問題はExcelFile Bは常に固定名ではないということです。 ただBという文字列ははいっています。 (1234-567-B.xlsといった具合で7654-321-B.xlsとなる場合もあります) イメージしているのはExcelFile Aの一枚目のシートに ExcelFile B挿入ボタンを設置してこのボタンを押すだけでExcelFile Bがシート三枚目に入ってくるといった感じです。 マクロ設定でBの文字列検索を行い当てはまった場合挿入します。 なかった場合はメッセージを出します。 ExcelFile AとExcelFile Bは同じ場所にあります。 こんな感じなのですができるでしょうか? 具体的にマクロを作成してもらえたら大変うれしいです。
- 締切済み
- オフィス系ソフト
- vbaで挿入
os xp ex 08 Dim pa As String pa = "C:\08-C\9\1K-1\" Workbooks.Open Filename:=pa & "1234.xls", UpdateLinks:=0 '<----- B列に組み立て Workbooks.Open Filename:=pa & "?????.xls", UpdateLinks:=0 上記の????の箇所に A列の4桁~6桁の数字のみ または 数字、文字、記号の混在 挿入出来ませんか? 例えばA2から始まりAのセルが空白になったら停止 とゆうことなのですが お願いします。
- ベストアンサー
- オフィス系ソフト
- エクセルのシート読み込み
Excel2000を使用してます。 前回質問したのですが解決できなかったので再度質問します。 ExcelFile A とExcelFile Bがあります。 まずAを開きBを別シートで読み込みを行ないたいのですが どのようにすればいいのでしょうか? ExcelFile A はタブ1とタブ2の二つのシートに分かれています。 ExcelFile Bはタブが一つでこのタブを丸ごとExcelFile Aのタブ3 として挿入を行いたいだけです。 イメージしているのはExcelFile Aの一枚目のシートに ExcelFile B挿入ボタンを設置してこのボタンを押すだけでExcelFile Bがシート三枚目に入ってくるといった感じです。
- ベストアンサー
- オフィス系ソフト
- 別ExcelFileの挿入について
ExcelFile A とExcelFile Bがあります。 まずAを開きBを別シートで読み込みを行ないたいのですが どのようにすればいいのでしょうか? できれば読み込みボタン一つで読み込めればいいと思っています。 (読み込みファイル名(B)は固定の名前にしておく)
- 締切済み
- オフィス系ソフト
- 結合した文字列をファイル名に使えない
Excel上に入力されているパス名とファイル名のデータを組み合わせて、 様々なファイルを開いたりコピーしたりするVBAのコードを作ろうとしています。 仮にシート上のA1セルに、C:\Documents and Settings\デスクトップ というパス名 A2セルに URIAGE.xls というファイル名が入力されていたとして、 A1の文字列データとB1の文字列データを結合する場合、 Sub FileSousa() Dim a As String Dim b As String Dim c As String a = Cells(1, "A").Value b = Cells(2, "A").Value c = Chr(34) & a & "\" & b & Chr(34) Range("A3") = c としてみると、確かにA3セルには、"C:\Documents and Settings\デスクトップ\URIAGE.xls" と出力され、文字列が結合されたことがわかるのですが、その変数cのデータを使って Workbooks.Open Filename:=c として、そのファイルを開こうとすると、ファイル名が見つからないとしてエラーになります。 ファイルはデスクトップ上の確かにその名前で存在しており、直接 Workbooks.Open Filename:="C:\Documents and Settings\デスクトップ\URIAGE.xls" とすると開きます。 " を Chr(34)によって入力したのがいけないのでしょうか、 Workbooks.Open Filename:=××× には、変数を置いてはいけないのでしょうか。 そもそも文字列の結合は、"あ" & "い" → "あい" となるのが基本だと思うのですが、 a="あ"、b="い"、c=a&b → c="あい"として結合した変数cについては、ファイル操作上のファイル名の設定項目として使えないのでしょうか。
- ベストアンサー
- Visual Basic
- 同じフォルダ内のブックを開きコピーする方法
いろいろチャレンジしてみたのですが どうにも行き詰っております。 ご教示頂ければ幸いです。 1つのフォルダに3つ(数は固定)のシートがあります。 フォルダ名は毎回変わります。 C:\デスクトップ\作成 ├4328457 神戸 ├作成元データ(名前は固定)←Aとします。 ├1314 電源工事(名前は毎回変わります)←Bとします。 └見積.xls(名前は固定)←今回は使いません 毎回名前の変わるBを先に開き、下記の「FileOpen」マクロで Aを開きます。 Bにあるシート(数は変動)を全て、Aにあるシート(3枚固定)の前に コピーし、Bは閉じてしまい、Aにて作業をしたいと思います。 Sub FileOpen() Dim Wb As Workbook Dim Fname As String Dim PathName As String Set Wb = ActiveWorkbook Fname = "作成元データ.xls" PathName = Wb.Path If Right(PathName,1)="\" then Workbooks.Open Filename:=PathName & Fname Else Workbooks.Open Filename:=PathName & "\" & Fname ThisWorkbook.Active End If End Sub 「ThisWorkbook.Active」にてBに戻しているつもりなのですが Aがアクティブのままであり、Bのシートをコピー選択できなくなってしまっています。 Sub BookOpen() Workbooks.Open Filename:=ThisWorkbook.Path & "\作成元データ.xls" End Sub こちらのように簡単な構図も試してみたのですが PESONAL.xlsbのあるフォルダ?を見に行くようでうまく「作成元データ」を開けませんでした。 お詳しい方には基本的な事かもしれませんが どうぞ宜しくお願い致します。
- ベストアンサー
- Excel(エクセル)
- Excelファイル内の検索マクロがエラーになってしまいますので、その解
Excelファイル内の検索マクロがエラーになってしまいますので、その解決方法を教えて戴きたいと思います。 (ExcelのVer.はPCによって異なり2002と2003です) 現在3つのExcelシートがありまして、内訳は ・検索.xls : 検索文字列入力用、マクロ実行用 ・文字列が含まれない.xls : データベース(検索文字列が含まれない) ・文字列が含まれる.xls : データベース(検索文字列が含まれる) となっております。 (デバッグの為にデータベースは意図的に作成しております) ここで『検索.xls』のマクロで以下のように作成をしてみました。 Sub 検索() Dim SearchWord As String Workbooks("検索.xls").Activate SearchWord = Worksheets("Sheet1").Cells(1, 1) ' 検索.xlsのSheet1のA1に検索文字入力 Workbooks.Open Filename:="D:\文字列が含まれない.xls" Windows("文字列が含まれない.xls").Activate Cells.Find(What:=SearchWord).Activate Workbooks.Open Filename:="D:\文字列が含まれる.xls" Windows("文字列が含まれる.xls").Activate Cells.Find(What:=SearchWord).Activate End Sub しかし、このマクロを実行しますと『文字列が含まれない.xls』の処理でエラーになってしまいます。 この『文字列が含まれない.xls』の処理をコメントアウトしますと『文字列が含まれる.xls』の処理はちゃんと実行してくれますので、データベースに検索文字が無かった場合の処理のさせかたが問題だとは思うのですけど、ネット検索をしても、上手なキーワードが思い浮かばずに欲しい情報がヒットしてくれません。 なにか単純な問題だと思うのですけれども、Excelにお詳しいかたがいらっしゃいましたら、回避策を教えて戴きたいと思います。
- ベストアンサー
- その他(業務ソフトウェア)
- エクセルVBAでパスの¥マークについて
このマクロを記述したBOOKと同じフォルダー内にある、シート001.xls を開くマクロです。 同一フォルダーにあるのですから、このような記述になると思います。 Sub kakunin1() Workbooks.Open (ThisWorkbook.Path & "\" & "シート001.xls") End Sub しかし、以下の3つはすべてシート001.xls を開くことができました。 Sub kakunin2() Workbooks.Open (ThisWorkbook.Path & "\" & "\" & "シート001.xls") End Sub Sub kakunin3() Workbooks.Open (ThisWorkbook.Path & "\" & "\" & "\" & "シート001.xls") End Sub Sub kakunin4() Workbooks.Open (ThisWorkbook.Path & "\" & "\" & "\" & "\" & "\" & "\" & "シート001.xls") End Sub パスの¥マークは階層をあらわすのだと思っていましたがいくつ重ねてもなぜ開くのでしょうか?非常に初歩的な質問だと思いますが、ご教示いただければ幸いです。
- ベストアンサー
- オフィス系ソフト
- Excel VBAで異なるファイル間のコピー
異なるファイル間で値のみをコピーしたいです。下記の様な感じです。 hoge1.xlsのA1からA10のセルの値のみをhoge2.xlsのB1からB10へコピーする。 以下の様に書いてみたのですが、数式がコピーされてしまいます。 VBAをやったことがなく、今ネットで30分ほど見て書いてみたので 根本的に理解していません。簡単な書き方を教えていただきたいです。 Sub test() Dim Fname As String Fname = "hoge1.xls" Workbooks.Open Filename:=Fname, ReadOnly:=True Dim range1 As Range Set range1 = Worksheets("Sheet1").Range("A1:A10") range1.Copy Destination:=Workbooks("hoge2.xls").Worksheets("Sheet1").Range("B1:B10") End Sub また、ファイルを開いたり閉じたりは必要なのでしょうか? Workbooks.Open Filename:=Fname, ReadOnly:=True を書かずに、いきなり Set range1 = Workbooks("hoge1.xls").Worksheets("Sheet1").Range("A1:A10") はダメなのでしょうか?? よろしくお願いします。
- ベストアンサー
- オフィス系ソフト
- ブックの保護(シート構成) でシートのコピー
エクセルで外部データを参照させるために, 別のブックを開きシートをコピーし元のブックに貼り付け別のブックは閉じるというマクロを作成しました。 Workbooks.Open Filename:=a Sheets("データ").Select Sheets("データ").Copy After:=Workbooks("ファイル.xls").Sheets("メニュー") Workbooks(a).Close SaveChanges:=False a(変数)というファイルを開く シートのデータを選択 データをコピーし ファイル.xls のメニューシートの後に貼り付け a(変数)のエクセルファイルを保存せずに閉じる 動作としては正常に動きました。 しかし、この ファイル.xls には ID とパスワードで管理しています。 その管理したシートがあるんですが、それを表示させないために シートを非表示→ブックの保護→シート構成 を行いました。 マクロを動かすと、シート構成をしているので Sheets("データ").Copy After:=Workbooks("ファイル.xls").Sheets("メニュー") が動かないことに気が付きました。 何かいい方法があればご教授お願いします。
- ベストアンサー
- その他MS Office製品
お礼
ありがとうございます。 B.xlsはあらかじめ1234-567-B.xlsといった具合に名前が付けられていますので上記内容ではできません。