Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


376 / 13645 ツリー ←次へ | 前へ→

【80728】シート複数選択印刷について Hiroshi 19/4/24(水) 15:50 質問[未読]
【80730】Re:シート複数選択印刷について マナ 19/4/24(水) 19:54 発言[未読]
【80733】Re:シート複数選択印刷について Hiroshi 19/4/25(木) 8:48 お礼[未読]

【80728】シート複数選択印刷について
質問  Hiroshi  - 19/4/24(水) 15:50 -

引用なし
パスワード
   はじめまして

 VBAにてシートを複数選択し印刷するように組みたいのですが中々できないのでご教授をお願い致します。

A1  B1  C1 「A1、B1、C1」→印刷
A2  B2  C2 「A2、B2、C2」→印刷
A3  B3  C3 「A3、B3、C3」→印刷
・  ・  ・    ・
・  ・  ・    ・
・  ・  ・    ・
A100 B100 C100「A100、B100、C100」→印刷

 上記のセルにそれぞれのシート名が入っているのですが「A1、B1、C1」を作業グループとして印刷をするVBAを組もうとしております。シート名直接や配列、rangeでは複数選択できず上手く当てはまる物がないのでご教授をお願いします。

初めての質問になりますのでルール等反しておりましたらご指摘ください。


 いろんな方のサンプルを参考に組んでみたVBAですがこの場合だとC1セル名のシートしかアクティブになりませんでした。

Sub シート選択()

  Dim strSN As String

  ' 変数 strSN にアクティブシートの A1 セルの値を代入
  strSN = ActiveSheet.Range("A1").Value
  strSN = ActiveSheet.Range("B1").Value
  strSN = ActiveSheet.Range("C1").Value
  
  ' 変数 strSN の名前をもつシートをアクティブにする
  Worksheets(strSN).Select
  
  ' 変数 strSN の名前をもつシートの B1 セルをアクティブにする
  Worksheets(strSN).Range("A1").Select
  Worksheets(strSN).Range("B1").Select
  Worksheets(strSN).Range("C1").Select
  
End Sub

【80730】Re:シート複数選択印刷について
発言  マナ  - 19/4/24(水) 19:54 -

引用なし
パスワード
   ▼Hiroshi さん:

>  strSN = ActiveSheet.Range("A1").Value
>  strSN = ActiveSheet.Range("B1").Value
>  strSN = ActiveSheet.Range("C1").Value


このままでは、3つの値を変数に同時いれることはできません。
配列にするとよいです。

  Dim strSN(1 to 3) as String

  strSN(1) = ActiveSheet.Range("A1").Value
  strSN(2) = ActiveSheet.Range("B1").Value
  strSN(3) = ActiveSheet.Range("C1").Value

  Worksheets(strSN).Printout

【80733】Re:シート複数選択印刷について
お礼  Hiroshi  - 19/4/25(木) 8:48 -

引用なし
パスワード
   マナさん

ありがとうございます。
思ってた通りの内容でした。
1か月悩んでいたものが解決できました。もっと勉強していきます。

376 / 13645 ツリー ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free