| 
    
     |  | こんにちは。かみちゃん です。 
 解決されたようですが、
 
 >>提示されたコードが記述されているモジュールの先頭行に
 >>Option Explicit
 >>を記述して、変数の宣言を強制するようにして、コンパイルチェックすると、
 >>変数ks、b、g、i、j、h、kpが宣言されていません。
 >>ここは、宣言するクセをつけたほうがいいです。
 >
 >上記の変数を宣言して実行してみましたがやはり同じ場所で同じエラーが出ました。
 
 いえいえ、これは、エラーの原因の対処を説明したわけではなく、
 VBAの基本である変数の宣言をきちんとすることをお勧めしただけです。
 これで、エラーが回避されるというわけではありません。
 
 本題とは関係ない部分をコメントして、混乱するようであれば、すみません。
 
 でも、変数の宣言はなくても動きますが、しておいたほうが不具合の発生を少なく
 することができるので、ぜひお勧めします。
 時間があるときに、以下の読み物をご覧になってみてください。
 http://pc.nikkeibp.co.jp/article/NPC/20070802/278891/
 
 >>あと、Sheet1のサンプルデータを提示していただけませんか?
 >すみません。sheet1で使ったデータは以下になります。
 
 サンプルデータの提示ありがとうございます。
 
 変数jの値に問題があることに気づいていただいてよかったです。
 
 Dim n As Integer 'NCブロック数
 
 は、
 
 Do While Selection.Cells(n, 1) <> ""
 n = n + 1
 Loop
 
 という使い方をするならば、
 nが32767を超えると、「オーバーフロー」のエラーになります。
 
 でも、[59708]で
 > 行と列を逆にして出力したら、解決しました!
 とのことですが、それであれば、今度は、
 nが256を超えないようにしないといけないと思いますので、むしろ、そちらのほうの
 エラー対策を考えたほうがよさそうですね。
 
 |  |