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にはシートが既にある為に、エラーとなります。 こういった場合はどうすればいいんでしょうか? すみませんが、教えて下さい。 |
▼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) |
▼Jaka さん: >こんにちは。 >こう言うことがしたいのでしょうか? > >after:=Worksheets(Worksheets.Count) はい。そうです。 説明するために書きすぎました・・・。 Copyを消すのも忘れていましたし・・・。 すみません。。。 |
>after:=Worksheets(Worksheets.Count) ↓ after:=Sheets(Worksheets.Count) |
ありがとうございます。 ただ、私のコード上では、そのように書いているんです。 でも、初めに書いたように、 それだと、シートがうまくコピーされません。 どうすればよろしいでしょうか? |
▼rin-bon さん: >ただ、私のコード上では、そのように書いているんです。 > >でも、初めに書いたように、 >それだと、シートがうまくコピーされません。 > >どうすればよろしいでしょうか? どのように書いているのか良く解りませんが、全部書くと こんな感じです。 Sheets("Sheet1").Copy After:=Sheets(Worksheets.Count) シートの最後に「Sheet1 (2)」の名前でコピーされます。 |
何度もありがとうございます。 あれ・・・? Sheets("Sheet1").Copy After:=Sheets(Worksheets.Count) そのままなんですが・・・。 これで、合ってるということなんですね。 ここで落ちるので、ここが悪いということかと思っていました。 もう一度、全体を見直してみます。 ありがとうございました。 |
rin-bon さん、こんにちわ。 >Sheets("Sheet1").Copy After:=Sheets(Worksheets.Count) >そのままなんですが・・・。 微妙に違います。 変数に入れた時点と、シートをコピーするときのアクティブなブックのシート数が違う場合や、シート数を取得したブックと、コピー先(実際にアクティブになっている)ブックが違う場合は結果が変わります。 >途中で削除したシートなどもあるので、 >ShTable.Copy after:=Worksheets(count) >これだと、8にはシートが既にある為に、エラーとなります。 >こういった場合はどうすればいいんでしょうか? 8つシートがあっても8つめの前に挿入されるだけで、エラーにはなりません。7未満の時にエラーになります。 >ここで落ちるので、ここが悪いということかと思っていました。 エラーメッセージに何と書いてありましたか? エラーは多種あります。メッセージをみないと解らないこともあります。コマンドボタン関係とかね。 |