フリーページ

2025年02月07日
XML
カテゴリ: カテゴリ未分類
Sub ExtractFoldersToDelete()

  Dim ws As Worksheet
  Dim lastRow As Long
  Dim i As Long
  Dim folderPath As String
  Dim topFolderPath As String
  Dim result As String
  Dim currentLevel As Long
  Dim previousLevel As Long


  Set ws = ThisWorkbook.Sheets("Sheet1") ' "Sheet1"はデータが入力されているシート名

  ' 最終行を取得
  lastRow = ws.Cells(Rows.Count, "B").End(xlUp).Row

  ' 結果を格納する変数を初期化
  result = ""

  ' 2行目から最終行までループ
  previousLevel = 1 ' 初期値を1に設定

  For i = 2 To lastRow

    ' E列に"◯"が付いている場合
    If ws.Cells(i, "E").Value = "◯" Then

      folderPath = ws.Cells(i, "B").Value


      ' 最上位のフォルダパスを取得
      topFolderPath = GetTopFolderPath(folderPath, currentLevel)

      ' 重複チェック
      If Not IsDuplicate(result, topFolderPath) Then

        ' 結果文字列に追加 (改行付き)


      End If

    End If

    previousLevel = currentLevel ' 前の階層数を更新

  Next i

  ' 結果をメッセージボックスに表示
  MsgBox result

End Sub

' 最上位のフォルダパスを取得する関数 (階層数を引数に追加)
Function GetTopFolderPath(folderPath As String, currentLevel As Long) As String

  Dim parts() As String
  parts = Split(folderPath, "\")

  ' 最上位のフォルダパスを組み立てる
  If currentLevel > 1 Then
    GetTopFolderPath = parts(1) & "\" & parts(2)
  Else
    GetTopFolderPath = folderPath ' 最上位フォルダの場合はそのまま
  End If

End Function

' 重複チェック関数
Function IsDuplicate(result As String, folderPath As String) As Boolean

  IsDuplicate = (InStr(1, result, folderPath) > 0)

End Function





お気に入りの記事を「いいね!」で応援しよう

最終更新日  2025年02月07日 15時39分24秒
コメント(0) | コメントを書く


【毎日開催】
15記事にいいね!で1ポイント
10秒滞在
いいね! -- / --
おめでとうございます!
ミッションを達成しました。
※「ポイントを獲得する」ボタンを押すと広告が表示されます。
x
X

PR

キーワードサーチ

▼キーワード検索

プロフィール

Helio Japan

Helio Japan

お気に入りブログ

毎日がエヴリディ! oyazy44さん
ドラマチックな映画… groomixさん
スッポンの達人 弥右ヱ門さん
アメリカ奮闘記 System of a Downさん
吉川裕一のオースト… 和歌山の風達人 ヒロさんさん

コメント新着

海のくまさん@ チン型取られちゃったw http://onaona.mogmog55.net/f2p8mnr/ 俺…
レレレのお父さん @ ケ、ケ、ケ、K太! K太郎さん、残念でしたね。 また観戦に…
中村k太郎@ こんにちは 自分の名前で検索してきました。 会場で…
楽器男@ パフェの語源 パフェの語源は,パーフェクトっていうの…
レレレのお父さん @ Re:びっくり!(02/23) しろもんさん 26日は川越で五日市さん…

© Rakuten Group, Inc.
Design a Mobile Site
スマートフォン版を閲覧 | PC版を閲覧
Share by: