• 締切済み

ページ追加方法 について VBA

watabe007さま 何度も何度も申し訳ありません エクセルVBAてお世話になっております 前回教えて頂いてから、理想通りに出来たのですが先方の要望が変わりました困っております 何も指定のないシート名の中で、何が何列何行くるかもわからない 空白列、空白行もある可能性もある、だがその中で一番長い行を探した上でその最終列の一行目にページ番号が追加されるようにしたい、という要望です シート内全ての最終列を取得した上で、一番上に入れる方法はございますでしょうか? 何度も何度も申し訳ありません どうかご教授頂けますと有難いです

みんなの回答

noname#252888
noname#252888
回答No.4

No.1,2です。 No.3さんが答えだしてくれたので 私は組みませんね。

  • HohoPapa
  • ベストアンサー率65% (455/693)
回答No.3

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

noname#252888
noname#252888
回答No.2

なるほど。 じゃあ今日の夜にちょっと家で組んでみますかね。 夜回答します。 それでは遅いならその旨回答下さい。

noname#252888
noname#252888
回答No.1

VBAでやりたい事なんてググれば大抵出て来ますよ。 貴方がしたいのは このサイトの中盤に有る「特殊な表の場合」のケースですね。 https://excel-ubara.com/excelvba4/EXCEL222.html

beeeeyan
質問者

お礼

回答ありがとうございます。 そちらのサイトは存じております。 私の説明が悪く分かりづらくて申し訳ありませんが、調べても分からないので聞いております 最終列を取得する、used~などネットにあるものは色々試しているのですが細かいところが理解できないのでお尋ねした次第です

関連するQ&A