|
こんにちは。かみちゃん です。
>下記のコード中の「レコード数取得」でデータ範囲の列数を取得するようにしているのですが、なぜか取得してくれません。
どのタイミングのときの取得がおかしいのでしょうか?
・UserFormを初期化したとき
・Spin移動の値が変わったとき
・ button追加をクリックしたとき
これらのタイミングで
Public Function レコード数取得() As Integer
レコード数取得 = Range("a1").CurrentRegion.Columns.Count - 1
End Function
のコードが実行されているのですが、
このときの
Range("a1").CurrentRegion
で得られるセル範囲が1列しかないのだと思います。
CurrentRegion
で得られる範囲は、「空白行と空白列で囲まれたセル範囲」ですので、
そのコードが実行されるときのアクティブシートのB列がまったく入っていない
のではないでしょうか?
ご自身が期待しているシートが、実行される時点でのアクティブシートになって
いるかどうかも含めて確認してみてください。
また、レコード数取得となっていますが、行数ではなく、列数の取得でいいのですよね?
なお、特定のシートの列数を取得したいならば、
Public Function レコード数取得() As Integer
レコード数取得 = Worksheets("○○").Range("a1").CurrentRegion.Columns.Count - 1
End Function
などとしてみてもいいかもしれません。
|
|