|
こんにちは。かみちゃん です。
>早速ためしてみます。
>
>さて、例が足りないとこ事でしたので、もう少し記入してみます。
>やりたい事:マクロでツリー形式の番号を振りたい。
> イメージはフォルダの中にフォルダがありその中にファイルが
> あるみたいなイメージです。
>条件:A列に1、2、3、…の数字が入っており規則に従いB列に番号を振る
[#41947]のichinoseさんが提示されたコードのうちmainプロシージャを一部修正さ
せていただくと以下のような感じのもので動くようです。
確認してみてください。
Sub main()
Dim g0 As Long
Dim ans As Variant
Dim rng As Range
With ActiveSheet
.Range("a:a").NumberFormatLocal = "G/標準"
.Range("b:b").NumberFormatLocal = "@"
' .Range("a1:a9").Value = _
Application.Transpose(Array(1, 2, "", "", 2, 3, "", 1, 2))
.Range("b:b").Value = ""
g0 = 1
' Call open_nestnum(.Range("a1:a9"))
Call open_nestnum(.Range("A1", .Cells(.Rows.Count, 1).End(xlUp)))
ans = get_nestnum
Do Until ans = ""
' .Range("a1:a9").Cells(g0).Offset(0, 1).Value = ans
.Range("A1", .Cells(.Rows.Count, 1).End(xlUp)).Cells(g0).Offset(0, 1).Value = ans
g0 = g0 + 1
ans = get_nestnum
Loop
Call close_nestnum
MsgBox "例1 確認してください"
' .Range("a1:a10").Value = _
' Application.Transpose(Array(1, 2, "", "", 1, 2, "", "", 2, ""))
' .Range("b:b").Value = ""
' g0 = 1
' Call open_nestnum(.Range("a1:a10"))
' ans = get_nestnum
' Do Until ans = ""
' .Range("a1:a10").Cells(g0).Offset(0, 1).Value = ans
' g0 = g0 + 1
' ans = get_nestnum
' Loop
' Call close_nestnum
' MsgBox "例2 確認してください"
End With
End Sub
|
|