Excel VBA質問箱 IV

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

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


4125 / 13644 ツリー ←次へ | 前へ→

【58319】変数 n を使いたいのですが・・・ Mimi 08/10/18(土) 19:08 質問[未読]
【58320】Re:変数 n を使いたいのですが・・・ かみちゃん 08/10/18(土) 19:14 発言[未読]
【58322】Re:変数 n を使いたいのですが・・・ Mimi 08/10/18(土) 19:54 お礼[未読]
【58323】Re:変数 n を使いたいのですが・・・ かみちゃん 08/10/18(土) 19:58 発言[未読]
【58324】Re:変数 n を使いたいのですが・・・ Mimi 08/10/18(土) 20:11 お礼[未読]

【58319】変数 n を使いたいのですが・・・
質問  Mimi  - 08/10/18(土) 19:08 -

引用なし
パスワード
    こんにちは。
下記のようなコードの中で変数 n を使う方法が判りません。

n = 58  
  Do Until ActiveCell = "rst"   
    ActiveCell.Offset(-1, 0).Select
    n = n - 1
    If n = 1 Then
  Exit Sub
  End If
  Loop

  If ActiveCell = "rst" Then  
  
  Range(Cells(1, 1), Cells(n, 8)).Select
    ActiveSheet.PageSetup.PrintArea = "$A$1:$H$n"
    ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True
  Rows("1:n").Select
  Selection.Delete Shift:=xlUp

以下、続きますが"$A$1:$H$n"とRows("1:n")とするとエラーになります。
どのように記述したら良いのでしょうか?
どなたか教えて頂けませんか。
宜しくお願いします。

【58320】Re:変数 n を使いたいのですが・・・
発言  かみちゃん  - 08/10/18(土) 19:14 -

引用なし
パスワード
   こんにちは。かみちゃん です。

>以下、続きますが"$A$1:$H$n"とRows("1:n")とするとエラーになります。
>どのように記述したら良いのでしょうか?

変数と文字列を混同されています。

以下のコードでその違いを確認してみてください。

Sub Sample()
 Dim n As Integer
 
 n = 58
 MsgBox "n"
 MsgBox n
End Sub

つまり、変数を" "で囲むと、文字列になってしまいます。

>    ActiveSheet.PageSetup.PrintArea = "$A$1:$H$n"

>  Rows("1:n").Select

の部分は、

    ActiveSheet.PageSetup.PrintArea = "$A$1:$H$" & n


  Rows("1:" & n).Select

としてはいかがでしょうか?

【58322】Re:変数 n を使いたいのですが・・・
お礼  Mimi  - 08/10/18(土) 19:54 -

引用なし
パスワード
   「かみちゃん」さん早速の回答有難う御座います。

ActiveSheet.PageSetup.PrintArea = "$A$1:$H$" & n
Rows("1:" & n).Select
で無事にプリントできて助かりました。

この場合 & はどのような役割をしてるのですか。
"$A$1:$H$" & nと("1:" & n)を言葉に代えたらどんな感じになりますかね?
すみません、変なこと聞いちゃって!

【58323】Re:変数 n を使いたいのですが・・・
発言  かみちゃん  - 08/10/18(土) 19:58 -

引用なし
パスワード
   こんにちは。かみちゃん です。

>この場合 & はどのような役割をしてるのですか。
>"$A$1:$H$" & nと("1:" & n)を言葉に代えたらどんな感じになりますかね?

平たく言うと、「くっつける」という感じでしょうか?
"$A$1:$H$"という文字列「と」変数nの値を「くっつける」という感じです。

サンプルコードしては以下のような感じです。
Sub Sample()
 Dim n As Integer
 
 n = 58
 MsgBox "n"
 MsgBox n
 MsgBox "n" & n
End Sub

【58324】Re:変数 n を使いたいのですが・・・
お礼  Mimi  - 08/10/18(土) 20:11 -

引用なし
パスワード
   Mimiです。

$H$"も"1:"も「"」の前に n を入れないなければいけないと考えていました。
難しいですネ!

ホントにありがとうございました。

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