お世話になります。
年末に以下の質問で、特定のセルをprnで
出力するマクロを教えて頂きました。
※GooUserラックさんありがとうございました。
【VBA】特定のセルをprnで保存したい
https://oshiete.goo.ne.jp/qa/10170122.html
Sub Sheet2_copy_verA()
Dim i As String
i = Range("B5").Value
Worksheets("Sheet2").Range("A1:A10").Copy
'Worksheets("Sheet2").Range("A6:A10").Copy
Workbooks.Add
ActiveSheet.Paste
Application.CutCopyMode = False
ActiveWorkbook.SaveAs Filename:="C:\B\Test-" & i & ".html", _
FileFormat:=xlTextPrinter
ActiveWindow.Close False
End Sub
特に問題なく使っておりました&関数の結果の出力はあきらめていました。
ところがダメ元で関数の結果を出力してみると以下のような内容になりました。
Ⅰ)コピーの範囲:A1からA10
↓
A1からA10の関数の結果をprnで出力(保存)
Ⅱ)コピー範囲:A6からA10
※シングルコーテーションのマクロの場合
↓
A1からA5までの関数の結果をprnで出力(保存)
となりました。要するに、出力範囲をA6からA10に設定しているのに、
無視して頭から5行だけ(A1からA5)出力します。
A6からA10セルの関数の結果をprnで保存したいです。
このマクロのおかしいところを教えて下さい。
※A1からA10が関数でない場合はⅠ)、Ⅱ)ともに正常に動作します
詳細
1)A1からA10は全て関数で、内容は以下のとおりです。
※A1:「=SheetA!A1」からA10:「=SheetA!A10」
※画像を参照して下さい
2)シートの役割は以下の通りです
Sheet1:アクティブシート
※入力
※関数の処理
SheetA:関数の結果の取得
※アクティブシートの関数の結果を所定の順番に並べる
※不要の空白を取り除く
Sheet2:
※prnを出力するシート
※出力エリア確認用:正常に動作すれば「SheetA」から直接出力する予定
No.1ベストアンサー
- 回答日時:
コピー範囲をA6~A10にした場合、貼り付け先がA1からであれば、設定されている式も相対的に
セル番地が変更されます。
同じシート内で試してみていただくとわかると思いますが、Sheet2のA6~A10をコピーして、
同じシートのC1に貼り付けてみてください。参照している式が変わると思います。
なので、貼り付ける際は、値貼り付けを行うことで、SheetAのA6~A10の値をコピーできます。
Sub Sheet2_copy_verA()
Dim i As String
'Range("B5")がどのシートにあるかを明示的に指定しました。
i = Worksheets("Sheet1").Range("B5").Value
'Worksheets("Sheet2").Range("A1:A10").Copy
Worksheets("Sheet2").Range("A6:A10").Copy
Workbooks.Add
'ActiveSheet.Paste
'ペーストする際、値貼り付けに変更しました。
ActiveSheet.Range("A1").PasteSpecial Paste:=xlPasteValues
Application.CutCopyMode = False
ActiveWorkbook.SaveAs Filename:="C:\B\Test-" & i & ".html", _
FileFormat:=xlTextPrinter
ActiveWindow.Close False
End Sub
ご解答ありがとうございます
お礼が遅くなりすいません。
動作確認させて頂きました。
>同じシート内で試してみていただくとわかると思いますが、Sheet2のA6~A10をコピーして、
同じシートのC1に貼り付けてみてください。参照している式が変わると思います。
↓
確かにマクロでなくても参照範囲は変ってしましいますね。
マクロの時も同様に参照範囲が変わるのに気が付きませんでした。
なので、貼り付ける際は、値貼り付けを行うことで、SheetAのA6~A10の値をコピーできます。
↓
シングルコーテーションで説明して頂きありがとうございます。
自分用の忘備録として説明をつけました。
Sub Sheet2_copy_verB()
Dim i As String
'Range("B5")がどのシートにあるかを明示的に指定しました。
i = Worksheets("外リンク-07").Range("B5").Value
Worksheets("AAA-010").Range("A6:A10").Copy
'先に新規ブックを作成する
Workbooks.Add
'値貼り付けでなければ、'ActiveSheet.Paste'でOK
'https://oshiete.goo.ne.jp/qa/10170122.html
'値貼り付けの場合
'PasteSpecial Paste:=xlPasteValues
'「PasteSpecial」の左に場所(A1)も指定する
ActiveSheet.Range("A1").PasteSpecial Paste:=xlPasteValues
Application.CutCopyMode = False
ActiveWorkbook.SaveAs Filename:="C:\B\Test-" & i & ".html", _
FileFormat:=xlTextPrinter
ActiveWindow.Close False
End Sub
ということですね、よくわかりました。
基本的なことから説明して頂き助かりました。
今回は解答して頂き、ありがとうございます。
機会がありましたら、またお願いします。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
これ何て呼びますか Part2
あなたのお住いの地域で、これ、何て呼びますか?
-
フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
あなたが普段思っている「これまだ誰も言ってなかったけど共感されるだろうな」というあるあるを教えてください
-
映画のエンドロール観る派?観ない派?
映画が終わった後、すぐに席を立って帰る方もちらほら見かけます。皆さんはエンドロールの最後まで観ていきますか?
-
海外旅行から帰ってきたら、まず何を食べる?
帰国して1番食べたくなるもの、食べたくなるだろうなと思うもの、皆さんはありますか?
-
天使と悪魔選手権
悪魔がこんなささやきをしていたら、天使のあなたはなんと言って止めますか?
-
【VBA】特定のセルをprnで保存したい
Excel(エクセル)
-
Excelで指定範囲だけを(.prn)保存する
Excel(エクセル)
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・街中で見かけて「グッときた人」の思い出
- ・「一気に最後まで読んだ」本、教えて下さい!
- ・幼稚園時代「何組」でしたか?
- ・激凹みから立ち直る方法
- ・1つだけ過去を変えられるとしたら?
- ・【あるあるbot連動企画】あるあるbotに投稿したけど採用されなかったあるある募集
- ・【あるあるbot連動企画】フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
- ・映画のエンドロール観る派?観ない派?
- ・海外旅行から帰ってきたら、まず何を食べる?
- ・誕生日にもらった意外なもの
- ・天使と悪魔選手権
- ・ちょっと先の未来クイズ第2問
- ・【大喜利】【投稿~9/7】 ロボットの住む世界で流行ってる罰ゲームとは?
- ・推しミネラルウォーターはありますか?
- ・都道府県穴埋めゲーム
- ・この人頭いいなと思ったエピソード
- ・準・究極の選択
- ・ゆるやかでぃべーと タイムマシンを破壊すべきか。
- ・歩いた自慢大会
- ・許せない心理テスト
- ・字面がカッコいい英単語
- ・これ何て呼びますか Part2
- ・人生で一番思い出に残ってる靴
- ・ゆるやかでぃべーと すべての高校生はアルバイトをするべきだ。
- ・初めて自分の家と他人の家が違う、と意識した時
- ・単二電池
- ・チョコミントアイス
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
PS4コントローラーをPCでゲーム...
-
MMDでavi出力が出来ない
-
4Kの外部モニターに出力すると...
-
ACアダプタの適合性・互換性に...
-
テキストファイルから特定の文...
-
中国の電子レンジの火力は何ワ...
-
プログラムについての質問です...
-
1〜50まで順に数字を入力し、3...
-
カッティングプロッタを思うよ...
-
cout と cerrの違い
-
accessからexcelへ出力 報告書...
-
TV出力ポートをOFFにすれば良い...
-
【PowerPoint VBAの高速化】
-
Windows11対応の3入力1出力 USB...
-
C言語初心者です 質問よろしく...
-
excelにて、ある固定値から連番...
-
エクセルで英字と数字を組み合...
-
タッチパネルの特性
-
OutLookのアドレス帳をCSV出力...
-
プログラミング
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
PS4コントローラーをPCでゲーム...
-
4Kの外部モニターに出力すると...
-
MMDでavi出力が出来ない
-
プログラムについての質問です...
-
COBOLのMOVEで桁数が異なる場合
-
cout と cerrの違い
-
コンセントの電力は入力と出力...
-
スマホのバッテリー消費につい...
-
アクセスでエクセルに出力する...
-
PC電源は、出力DC12VとDC5Ⅴで...
-
Windows Formアプリからコンソ...
-
ACCESS クエリ→フォーム...
-
VBAのExecメソッドで画面を非表...
-
printfの書式%.*s
-
無線とかアンテナに関しの質問...
-
【ExcelVBA】最終行の取得で困...
-
ACCESSからExcelへエクスポート...
-
Accessのテーブルからcsv出力す...
-
CRC16計算について
-
Excel VBAで値を変えながら、pd...
おすすめ情報
ご解答ありがとうございます。
すいませんが多忙のため、少しお時間を下さい。
近日中に動作確認をして、
改めてお礼、質問、etc.をさせて頂きます。
この度はご解答ありがとうございます。