• 受付
  • 困ってます

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

  • 質問No.9645247
  • 閲覧数73
  • ありがとう数1
  • 気になる数1
  • 回答数4

お礼率 41% (5/12)

watabe007さま

何度も何度も申し訳ありません
エクセルVBAてお世話になっております

前回教えて頂いてから、理想通りに出来たのですが先方の要望が変わりました困っております

何も指定のないシート名の中で、何が何列何行くるかもわからない
空白列、空白行もある可能性もある、だがその中で一番長い行を探した上でその最終列の一行目にページ番号が追加されるようにしたい、という要望です

シート内全ての最終列を取得した上で、一番上に入れる方法はございますでしょうか?

何度も何度も申し訳ありません
どうかご教授頂けますと有難いです

回答 (全4件)

  • 回答No.4

ベストアンサー率 26% (524/1986)

No.1,2です。

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

ベストアンサー率 61% (234/380)

他カテゴリのカテゴリマスター
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
  • 回答No.2

ベストアンサー率 26% (524/1986)

なるほど。
じゃあ今日の夜にちょっと家で組んでみますかね。
夜回答します。


それでは遅いならその旨回答下さい。
  • 回答No.1

ベストアンサー率 26% (524/1986)

VBAでやりたい事なんてググれば大抵出て来ますよ。


貴方がしたいのは
このサイトの中盤に有る「特殊な表の場合」のケースですね。
https://excel-ubara.com/excelvba4/EXCEL222.html
お礼コメント
beeeeyan

お礼率 41% (5/12)

回答ありがとうございます。
そちらのサイトは存じております。
私の説明が悪く分かりづらくて申し訳ありませんが、調べても分からないので聞いております
最終列を取得する、used~などネットにあるものは色々試しているのですが細かいところが理解できないのでお尋ねした次第です
投稿日時:2019/08/14 07:33
AIエージェント「あい」

こんにちは。AIエージェントの「あい」です。
あなたの悩みに、OKWAVE 3,600万件のQ&Aを分析して最適な回答をご提案します。

関連するQ&A

その他の関連するQ&Aをキーワードで探す

ピックアップ

ページ先頭へ