- 締切済み
ページ追加方法 について VBA
watabe007さま 何度も何度も申し訳ありません エクセルVBAてお世話になっております 前回教えて頂いてから、理想通りに出来たのですが先方の要望が変わりました困っております 何も指定のないシート名の中で、何が何列何行くるかもわからない 空白列、空白行もある可能性もある、だがその中で一番長い行を探した上でその最終列の一行目にページ番号が追加されるようにしたい、という要望です シート内全ての最終列を取得した上で、一番上に入れる方法はございますでしょうか? 何度も何度も申し訳ありません どうかご教授頂けますと有難いです
- みんなの回答 (4)
- 専門家の回答
みんなの回答
No.1,2です。 No.3さんが答えだしてくれたので 私は組みませんね。
- HohoPapa
- ベストアンサー率65% (455/693)
https://okwave.jp/qa/q9643009.html これの延長にある話なんでしょうか。 求めている内容がよくわかりませんが 以下のコードでいかがでしょうか。 特にコードの説明はしませんので 読み取ってみてください。 期待と違うとか、よくわからなければ 聞いてください。 Sub Sample() Dim Keys() As Variant 'シートの特定の部分文字列の羅列 Dim KeysCount As Long '部分文字列の数 Dim KeyCounter As Long '部分文字列のカウンター Dim ShCounter As Long 'シートカウンター Dim PageNum As Long 'ページ番号 Dim MaxColNum As Long '最右列番号 With ThisWorkbook Keys = Array("*XXX*", "*YY*", "*Z*", "*123*") KeysCount = UBound(Keys) + 1 PageNum = 0 For ShCounter = 1 To .Sheets.Count For KeyCounter = 1 To KeysCount If .Sheets(ShCounter).Name Like Keys(KeyCounter - 1) Then PageNum = PageNum + 1 MaxColNum = .Sheets(ShCounter).UsedRange.Column .Sheets(ShCounter).Cells(1, MaxColNum + 1).Value = PageNum Exit For End If Next KeyCounter Next ShCounter End With End Sub
なるほど。 じゃあ今日の夜にちょっと家で組んでみますかね。 夜回答します。 それでは遅いならその旨回答下さい。
VBAでやりたい事なんてググれば大抵出て来ますよ。 貴方がしたいのは このサイトの中盤に有る「特殊な表の場合」のケースですね。 https://excel-ubara.com/excelvba4/EXCEL222.html
お礼
回答ありがとうございます。 そちらのサイトは存じております。 私の説明が悪く分かりづらくて申し訳ありませんが、調べても分からないので聞いております 最終列を取得する、used~などネットにあるものは色々試しているのですが細かいところが理解できないのでお尋ねした次第です