データシートが数枚あり、そこから、シートごとに必要なデータのみ抽出して、印刷用シート(1枚)にまとめて書きこみたいと思っています。
書きこみは以下のような感じにしています。
Sheets("印刷用シート").Activate
Range("A1").Value = Sheets("データ1").Range("A1").Value
ここで、データ1というシート名を、色々に変えたいのです。
印刷用シートのセルに「データ1」なり「データ2」なり入力したら、その部分が変わるように変数にしたいのですが、どのようにすればいいでしょうか?
VBAを勉強中(初心者)です。よろしくお願いします。
No.1ベストアンサー
- 回答日時:
変数宣言して行えばできますよ。
例えば
Dim ファイル保存名
ファイル保存名 = "C:\Documents and Settings\Administrator\シート名.xls"
こんな感じですかね。
この回答への補足
早速の回答ありがとうございます。ええと、ひとつのシート内で作業していまして、あるセルに入力したシート名を取得して、そのシートからデータをひっぱってきたいのです。
Dim AAA As Worksheet
Set AAA = ActiveSheet
AAA.Value = "a1" 'このセルにシート名を入れる
Sheets("AAA").Activate
Range("c5").Value = Sheets("AAA").Range("c5").Value
というようにしたらエラーになってしまうので…。
No.6
- 回答日時:
>データ1というシート名を、色々に変えたいのです
と言う質問でありながら、既回答にはNameが出て来ないですが良いんですか。
名前の変更は、
Worksheets("印刷用シート").Name = Range("A1")
のようできます。
A1に何かシート名を入れるなら
Sub test01()
Range("A1") = InputBox("シート名=")
ActiveSheet.Name = Range("A1")
End Sub
No.4
- 回答日時:
#2 diashun です。
修正です。
Range("A1").Value = Sheets(strSheetName).Range("A1").Valueを ↓に修正
ThisWorkbook.Sheets("印刷用シート").Range("A1").Value = ThisWorkbook.Sheets(strSheetName).Range("A1").Value
たびたびありがとうございます。単純な置き換えのはずなのにと悩んでいました。これだとActiveSheetがどこであれ実行できるわけですね。
No.2
- 回答日時:
diashun です。
「inputbox」を使ってみては?
'********************************************
dim strSheetName as String
strSheetName = InputBox("シート名を入力して下さい")
Range("A1").Value = Sheets(strSheetName).Range("A1").Value
'********************************************
上記を追加し「InputBox」ダイアログにシート名を入力すると、そのシート名の指定のセルの値が設定されます。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) VBAのoffsetの動き方について教えてください 3 2022/11/25 23:36
- Excel(エクセル) エクセルのマクロで複数シートを両面印刷するには? 2 2022/12/08 23:23
- Visual Basic(VBA) まとめシートから集計シートへA列のコードが一致したら1行コピーするマクロをネット上で見つけました。こ 1 2022/08/30 14:11
- Visual Basic(VBA) VBAで、シート間の転記するコードをFOR~NEXTで教えてください。 9 2023/04/30 20:04
- Visual Basic(VBA) VBAで不特定枚数印刷をしたいです。 4 2022/08/02 07:30
- Excel(エクセル) エクセルのフッタやヘッダーについて 3 2023/02/04 09:45
- Visual Basic(VBA) Excel VBA 最終行を取得しVlookup関数をコピーする方法をコーディングで教えてください。 3 2023/05/11 13:14
- Excel(エクセル) 複数セルデータを別シートの単一セルにコピーしたい。(詳細をご参照ください) 1 2022/12/14 15:08
- Visual Basic(VBA) 複数csvを横に追加していくマクロについて 2 2023/04/25 09:19
- Visual Basic(VBA) 最終行の指定について教えてください。 複数シートを1シートへまとめる下記マクロでは各シートの6行目を 1 2022/10/04 18:37
このQ&Aを見た人はこんなQ&Aも見ています
-
プロが教えるわが家の防犯対策術!
ホームセキュリティのプロが、家庭の防犯対策を真剣に考える 2組のご夫婦へ実際の防犯対策術をご紹介!どうすれば家と家族を守れるのかを教えます!
-
エクセル:シート名を手入力でなく、セル「A1」の文字を出したい。
Excel(エクセル)
-
シート名をセルの値からもってくるには・・・
Excel(エクセル)
-
自動で複数セルの内容をシート名にする
Excel(エクセル)
-
-
4
【EXCEL】【VBA】空欄は飛ばして処理する方法を教えて下さい。
Excel(エクセル)
-
5
Excel数式でシート名をセルから取得したい。
Excel(エクセル)
-
6
A1セルに入力したら、入力時間をA2セルに自動挿入
Excel(エクセル)
-
7
VBAでエクセルシートを更新(リフレッシュ)する方法を教えて下さい。
Excel(エクセル)
-
8
別のシートから値を取得するとき
Visual Basic(VBA)
-
9
セルの値と同じ名前のシートをアクティブにするには?
Excel(エクセル)
-
10
一番多く表示のある値(文字列)を、Excel関数で抽出したい
Excel(エクセル)
-
11
VBAでシートコピー後、シート名が重複している時の処理
Access(アクセス)
-
12
特定の複数のシートに同じ処理をさせたい
Excel(エクセル)
-
13
VBA セルの値と同じ名前のシートにデータを補填するやり方を教えてください エクセルのブックがありま
Excel(エクセル)
-
14
VBA で白黒印刷をしたい
Visual Basic(VBA)
-
15
【VBA】PDF出力に任意のファイル名前を付ける方法
Excel(エクセル)
関連するカテゴリからQ&Aを探す
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
VBA セルの値と同じ名前のシー...
-
エクセルで入力シートから別シ...
-
ExcelVBAで、指定したシートに...
-
Excel 複数のシートからグラフ...
-
Excelの中央値の複数条件について
-
Excelで入力用シートのデータを...
-
VBAでシート名をセルから取得し...
-
【エクセルVBA】処理速度を...
-
エクセル シフト勤務表から、...
-
エクセルで別シートから一つの...
-
エクセルVBA:表の内容を担当者...
-
各顧客をシートごとに作成した...
-
エクセル2010でメンバー数人の...
-
Excelの選択肢をポップアップリ...
-
EXCEL VBA 作業用シートの使い回し
-
エクセルVBAで元のシート上の特...
-
Excel ハイパーリンク先のセル...
-
Excelで住所録。最初にページ設...
-
Excelでシートが複数あるデータ...
-
エクセルのワークシートが重く...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルで入力シートから別シ...
-
Excel 複数のシートからグラフ...
-
Excelの中央値の複数条件について
-
エクセル シフト勤務表から、...
-
IF, ISNUMBER, INDIRECTの組み...
-
エクセルのワークシートが重く...
-
ExcelVBAで、指定したシートに...
-
VBA セルの値と同じ名前のシー...
-
Excel ハイパーリンク先のセル...
-
エクセル自動の年月
-
VBAのoffsetの動き方について教...
-
エクセルで入力→日付を自動判別...
-
エクセルVBA:表の内容を担当者...
-
エクセル マクロを使って日々...
-
エクセルについて質問です 日付...
-
ピボットテーブルから抽出デー...
-
VBAでシート名をセルから取得し...
-
Excelの選択肢をポップアップリ...
-
VBAを利用しオートフィルタで日...
-
Excel日付変更との参照先の連動
おすすめ情報