- ベストアンサー
シート名が変わる場合のVBAの設定の仕方
nayuta_lotの回答
こんにちは Worksheets("○○会社").~のように、プログラム中に直接シート名を書いている ということでしょうかね・・ シート名を変更して汎用的に使用するようなプログラミングをするなら 設定シートのようなシートを設けて、そこに情報を記載しておき、初期設定でそこから シート名を変数に読み込んで、汎用性を持たせるような方法もあります。 設定シート A1の内容 ○○会社 VBAの中で必ず、最初に初期設定として設定シートから顧客名を取得するようにします。 Dim Kokyaku_Sheet As String Kokyaku_Sheet = Worksheets("設定シート").Range("A1").Value : Sheets(Kokyaku_Sheet).Select など・・ この例では、Kokyaku_Sheetという変数を使用してプログラミングを行います。 こうしておけば、シート名を変更したい場合には、設定シートのA1の内容を書き換えるだけで 済みます。 複数の顧客を処理するなら、顧客リストでも作っておいて、そこを読み込んでループさせれば よいかと思います。 ご質問の意図とは違うかもしれませんが、ご参考まで
関連するQ&A
- ExcelのVBAで、ソース自体が書かれたシート名
ExcelのVBAで、ソース自体が書かれたシート名を取得したいと考えています。 やりたいことは、シートAからシートBに切り替えたときにシートAを削除したい。そこでシートAにworksheet_deactivateを追加して削除文を記載したのですが、activesheetで取得できるのはシートB名のためシートBが削除されてしまいます。 ソース自体はオリジナルシートがあり、シートAはオリジナルシートからコピーしたものです。 オリジナルシートは他シート名でもコピーすることがあるため、ソースに固定シート名は使えません。 なにか方法はないでしょうか?
- ベストアンサー
- その他MS Office製品
- Access VBA インポート シート指定
AccessのVBA を用いて、ExcelからAccessへデータを インポートする際、ダイアログボックスを表示させて Excelのファイルを選択させるようにしています。 これをシート名まで指定させる事は可能でしょうか? ◆シートは枚数が固定されず、都度かわります。 ◆インポートしたいシート数も都度かわります。 ◆1sheet = 1 テーブルにしたいです。 ◆1度の動作で、1sheetのインポートでも、複数でもかまいません。 ◆できれば、ダイアログでファイルを選択した流れで シートまで選択される方法が望ましいです。 ◆Accessのテーブル名もテキストボックスで任意なものが 付けられるようにしたいです。 お知恵をお貸し下さい、何卒よろしくお願いいたします。
- 締切済み
- オフィス系ソフト
- 【VBAでシート名の存在チェックを行いたい】
目的は、特定したExcelファイルを開き、そこに存在するシート名が、あるシート名リストと一致するかどうかの判断を行うことです。 シート名を参照しようとすると、存在しない場合エラーになります。 例: Excelブック シート名リスト 「顧客」シート 「住所」 「住所」シート 「趣味」 「会社」シート シート名リストの「趣味」がブックに存在しないので、エラーになります。 他の方法をご存知の方、教えて頂けますでしょうか? 宜しくお願いいたします。 Excel2000を使用しています。
- ベストアンサー
- Visual Basic
- Excel VBA 複数シートを各シート名で保存
Excel VBA で、複数シートを各シート名で保存したい場合はどうすればいいでしょうか? シート名が、[フォーム] [A社] [B社] [C社] [D社] … というBookがあります。 [フォーム]シートを除く他のシートを、シート名をそのままファイル名にして、 それぞれ別ファイルで保存する場合、どのように記述すればいいのか どなたかおわかりになりましたら、教えてください。 よろしくお願いします。
- ベストアンサー
- Visual Basic
- Excelシートを分割してcsvに出力するVBA
すいませんが、ご教示願います。 パソコンExcelのVBAです。 Excelファイルシートの24,000行あるデータを、 任意に選択した範囲(例えば2行目から3,000行目)をcsvデータに出力する VBA構文が知りたいです。 どなたかおわかりになりますでしょうか。
- 締切済み
- Visual Basic
- Excel2000 VBAで新規シート名を他のシート名と重ならないようにつけるには?
始めまして。早速ですが、今頭を抱え込んでいる私の悩みを聞いて下さい。 シート名を追加するプログラムで、「シートを追加」というボタンを押すと、 Inputboxを表示し、そこに任意の番号("見積書1"や"請求書1"の数字部分)を入力して、その番号をシート名として取得すると同時に、シートを追加するようにしたいのです。 その過程で、新しいシートの名前をつける際に、同じブック内に既に存在する複数 のシート名と照らし合わせて、もし、既存の番号と同じ番号をInputBoxに入れたときには、「他の番号を入力してください」と再度InputBoxを表示させたいのです。 そして、シート名がブック内に同じものがない場合にのみ、シートを追加するというものです。 VBAを使うより、手動ですれば?という考えももちろん解決方法の一つかとは思いますが、何分Excelを始めて使う年老いた父のために、少しでも簡単に操作できるようにという思いから質問させて頂いております。 どうぞよろしくお願いいたします。
- ベストアンサー
- オフィス系ソフト
- VBA アクティブなセルのシート名を取得したい
エクセル2010使用です。 VBAで、アクティブなセルのあるシート名を取得する方法を教えてください。 マクロ.xls (マクロシートA1) ←今回のマクロを書き込んだファイル 参照.xls (参照シートA1) 入力.xls (入力シートF3) この3つのエクセルファイルを開きます。 ( )内はそれぞれの前面にあるシート名と選択されたセルです。 入力シートのF3にカーソルをおいて下記マクロを実行すると MsgBox ActiveSheet.Name & ActiveCell.Address 「マクロシート F3」と返されます・・・ ほしい結果は「入力シート F3」なんです。 このような場合にアクティブセルのあるシート名を取得する方法があれば教えてください。 よろしくお願いいたします。
- ベストアンサー
- Excel(エクセル)
- vba ブック間でシート名のコピーをするには
始めまして、よろしくお願いします。 excel vba 初心者のものです。 2つのブックがあり同時に開いている状態です。1つのブックはデータがあります。 もう1つは空のブックです。 データのあるブックのシートには、 シート1のシート名は「8月1日」 シート2のシート名は「8月2日」 シート3のシート名は「8月4日」 シート4のシート名は「8月5日」 シート5のシート名は「Sheet1」 やりたいこと データ、シート名があるブックから、 空ブックのシートにシート名をコピーしてきてセルに貼り付けたいです。 シートに名前を付けてるシート数は不規則なので「Sheet1」まで来たら終了したいです。 どうぞご教授の程よろしくお願い申し上げます。
- ベストアンサー
- Excel(エクセル)
- エクセルVBAにて選択したセルが空白の場合任意のシートに飛ばした
エクセルVBAにて選択したセル(A1とします)が空白の場合任意のシート(Sheet2とします)の任意のセル(B1とします)を選択させる場合どのようにしたらよいでしょうか?
- 締切済み
- オフィス系ソフト
- エクセルVBAでファイル・シート名を指定して、現在のブックのシートにコピーしたい
エクセルVBA独学中の超初心者です。 VBAを利用して以下のことがしたいのですが、わかりません。 助けて下さい。よろしくお願いいたします。 1. ファイルを選択する。 2. 1で選択したファイルから、シート名を選択する 3. 2で選択したシートを現在のブックのSheet1にコピーする
- 締切済み
- Visual Basic
お礼
ご指導いただいた点でクリアになれば今の問題は解決すると思います。 早速やってみたいと思います。ありがとうございます。