過去ログ

                                Page     258
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   通常モードに戻る  ┃  INDEX  ┃  ≪前へ  │  次へ≫   
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
 ▼シート数  rin-bon 02/10/25(金) 13:33
   ┗Re:シート数  Jaka 02/10/25(金) 14:02
      ┣Re:シート数  rin-bon 02/10/25(金) 14:15
      ┗消し忘れました。  Jaka 02/10/25(金) 14:16
         ┗Re:消し忘れました。  rin-bon 02/10/25(金) 14:34
            ┗Re:消し忘れました。  Jaka 02/10/25(金) 14:47
               ┗Re:消し忘れました。  rin-bon 02/10/25(金) 14:58
                  ┗Re:確認するところ  りん 02/10/26(土) 13:23

 ───────────────────────────────────────
 ■題名 : シート数
 ■名前 : rin-bon
 ■日付 : 02/10/25(金) 13:33
 -------------------------------------------------------------------------
   こんにちは。
すごく初歩的な質問かとは思いますが・・・。

Sheetを1.2.5.7.8.10.12
というようにシートを使っているとして。

全シート数を知る為に

count = Worksheets.Count      'count=7

としているのですが、
確かに、全シート数は出てきますが、
途中で削除したシートなどもあるので、

ShTable.Copy after:=Worksheets(count)

これだと、8にはシートが既にある為に、エラーとなります。
こういった場合はどうすればいいんでしょうか?

すみませんが、教えて下さい。
 ───────────────────────────────────────  ■題名 : Re:シート数  ■名前 : Jaka  ■日付 : 02/10/25(金) 14:02  -------------------------------------------------------------------------
   ▼rin-bon さん:
>こんにちは。
>すごく初歩的な質問かとは思いますが・・・。
>
>Sheetを1.2.5.7.8.10.12
>というようにシートを使っているとして。
>
>全シート数を知る為に
>
>count = Worksheets.Count      'count=7
>
>としているのですが、
>確かに、全シート数は出てきますが、
>途中で削除したシートなどもあるので、
>
>ShTable.Copy after:=Worksheets(count)
>
>これだと、8にはシートが既にある為に、エラーとなります。
>こういった場合はどうすればいいんでしょうか?
>
>すみませんが、教えて下さい。


こんにちは。
こう言うことがしたいのでしょうか?

after:=Worksheets(Worksheets.Count)
 ───────────────────────────────────────  ■題名 : Re:シート数  ■名前 : rin-bon  ■日付 : 02/10/25(金) 14:15  -------------------------------------------------------------------------
   ▼Jaka さん:
>こんにちは。
>こう言うことがしたいのでしょうか?
>
>after:=Worksheets(Worksheets.Count)

はい。そうです。
説明するために書きすぎました・・・。
Copyを消すのも忘れていましたし・・・。

すみません。。。
 ───────────────────────────────────────  ■題名 : 消し忘れました。  ■名前 : Jaka  ■日付 : 02/10/25(金) 14:16  -------------------------------------------------------------------------
   >after:=Worksheets(Worksheets.Count)
   ↓
after:=Sheets(Worksheets.Count)
 ───────────────────────────────────────  ■題名 : Re:消し忘れました。  ■名前 : rin-bon  ■日付 : 02/10/25(金) 14:34  -------------------------------------------------------------------------
   ありがとうございます。
ただ、私のコード上では、そのように書いているんです。

でも、初めに書いたように、
それだと、シートがうまくコピーされません。

どうすればよろしいでしょうか?
 ───────────────────────────────────────  ■題名 : Re:消し忘れました。  ■名前 : Jaka  ■日付 : 02/10/25(金) 14:47  -------------------------------------------------------------------------
   ▼rin-bon さん:
>ただ、私のコード上では、そのように書いているんです。
>
>でも、初めに書いたように、
>それだと、シートがうまくコピーされません。
>
>どうすればよろしいでしょうか?

どのように書いているのか良く解りませんが、全部書くと
こんな感じです。

Sheets("Sheet1").Copy After:=Sheets(Worksheets.Count)

シートの最後に「Sheet1 (2)」の名前でコピーされます。
 ───────────────────────────────────────  ■題名 : Re:消し忘れました。  ■名前 : rin-bon  ■日付 : 02/10/25(金) 14:58  -------------------------------------------------------------------------
   何度もありがとうございます。

あれ・・・?
Sheets("Sheet1").Copy After:=Sheets(Worksheets.Count)
そのままなんですが・・・。

これで、合ってるということなんですね。
ここで落ちるので、ここが悪いということかと思っていました。

もう一度、全体を見直してみます。
ありがとうございました。
 ───────────────────────────────────────  ■題名 : Re:確認するところ  ■名前 : りん <rin_doggie@hotmail.com>  ■日付 : 02/10/26(土) 13:23  -------------------------------------------------------------------------
   rin-bon さん、こんにちわ。

>Sheets("Sheet1").Copy After:=Sheets(Worksheets.Count)
>そのままなんですが・・・。
 微妙に違います。
 変数に入れた時点と、シートをコピーするときのアクティブなブックのシート数が違う場合や、シート数を取得したブックと、コピー先(実際にアクティブになっている)ブックが違う場合は結果が変わります。

>途中で削除したシートなどもあるので、
>ShTable.Copy after:=Worksheets(count)
>これだと、8にはシートが既にある為に、エラーとなります。
>こういった場合はどうすればいいんでしょうか?
 8つシートがあっても8つめの前に挿入されるだけで、エラーにはなりません。7未満の時にエラーになります。

>ここで落ちるので、ここが悪いということかと思っていました。
 エラーメッセージに何と書いてありましたか?
 エラーは多種あります。メッセージをみないと解らないこともあります。コマンドボタン関係とかね。
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━    通常モードに戻る  ┃  INDEX  ┃  ≪前へ  │  次へ≫    ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━                                 Page 258