いつもお世話になっております。
表題の通りです。シートをForEachしているつもりなのですが、
実行時に選択されている、シートの行数とカラム数しか取得できません。
現在のエクセルのシート状態、VBAのコード、実行結果を貼ります。
現在のコードは以下です。(シート名に意味はないのであまり気にしないでください)
VBA
1 2Sub makeSeeder() 3Dim Ws As Worksheet 4 For Each Ws In Worksheets 5 'カラム数と行数を格納 6 Dim clms_cnt As Integer 7 clms_cnt = Ws.Application.CountA(Range("1:1")) 8 9 Dim row_cnt As Integer 10 row_cnt = Ws.Application.CountA(Range("A:A")) 11 12 'ウィンドウに表示させる 13 Debug.Print Ws.Name 14 Debug.Print clms_cnt 15 Debug.Print row_cnt 16 Next Ws 17End Sub 18 19'実行結果 20't_abc_def 21'5 22'7 23't_ghi_jkl 24'5 25'7
実行する際は「イメージ」シートは削除した状態で行っています。
「Ws.Name」が動作しているのでシートはForEachで回せていると思うのですが。
ご教示よろしくお願いします。
>VBA アクティブシートが選択されていない
質問内容と全く違うタイトルになってませんか。
>https://teratail.com/help/question-tips#questionTips3-1
もしタイトルをどのように書いていいのかがわからない場合は、先に質問の詳細を書いてみることをお勧めします。
先に詳細をまとめれば、あとはその要約をすればいいのでタイトルが書きやすくなります。
そもそもExcelからPHPコードを生成するということ自体がかなり難儀なことをやろうとしてるので、
もっとやり方考えた方がいいと思います。
ありがとうございます。
結局したいことはシートごとの列数とカラム数を取得することなので、
余計な情報が多すぎますね。少し後になりますが、書き直します。
回答1件
あなたの回答
tips
プレビュー