エクセルVBAで入力規則で設定した列数を取得するには?

最近の書き込み件数: 今日 0件、昨日 0件
未読分:2件

最新20件 最新50件 最新100件 最新200件 200件以前
昨日以降(0) 2日前以降(0) 3日前以降(0) 4日前以降(0) 5日前以降(0)


Excel VBAでIEを思いのままに操作できるプログラミング術 Excel 2013/2010/2007/2003対応

近田 伸矢, 植木 悠二, 上田 寛

IEのデータ収集&自動操作のプログラミング本はこの1冊だけ!IEの起動やポップアップウィンドウ、表示を制御する基本的なコードはもちろん、テキストボックスやラジオボタン、表、ハイパーリンクなどのHTML部品を制御する方法など、自動操作に欠かせないノウハウを丁寧に解説。

Message#2 2015年2月12日(木)09時34分
From: karin
返事 削除 変更
> A列、C列E列の場合は、Columns.Countで処理すると1が返ってきます。

こちらはおそらく

Sub sample()
  Debug.Print Range("A1,C1:E1").Columns.Count
End Sub

だと思いますが、こちらはA列、C列E列範囲のAreas(1)になりますので、range("A1")の列を取得しようとしています。よって結果は1で正しいです。

複数領域のセル範囲の場合は、Areasプロパティで全てのセルに対して処理を行わなければいけませんので、Areasコレクションの数だけループ処理を行い、列をカウントさせていきます。
以下がExcelVBAのサンプルコードですので、一度確認してみてください。

Sub sample()
  With Range("A1,C1:E1")
    For Each i In .Areas
      colCnt = colCnt + a.Count
    Next
    debug.print .Cells.Count
    debug.print colCnt
  End With
End Sub




>
> A列〜D列の場合は、Columns.Countで処理するとちゃんと4が帰ってくるのですが、

> この現象はどうしておこるのでしょうか?
>
> 原因が分かる方いらっしゃいましたら、お知らせください。
> Sub sample()
>
>   With Rows(3).SpecialCells(xlCellTypeAllValidation)
>     MsgBox .Cells.Count
>     MsgBox .Columns.Count
>   End With
>
> End Sub

Message#1 2015年2月12日(木)08時55分
From: kurowo
返事 削除 変更
エクセルVBAで入力規則で設定した列数を取得するにはどうしたらいいですか?
具体的にA列D列とF列に入力規則が設定されていたとします。
cellsプロパティを利用してCells.Countを実行すると6が帰ってくるのですが、
列そのものを取得するColumns.Countをすると5が返ってきます。

A列〜D列の場合は、Columns.Countで処理するとちゃんと4が帰ってくるのですが、
A列、C列E列の場合は、Columns.Countで処理すると1が返ってきます。
この現象はどうしておこるのでしょうか?

原因が分かる方いらっしゃいましたら、お知らせください。
Sub sample()

  With Rows(3).SpecialCells(xlCellTypeAllValidation)
    MsgBox .Cells.Count
    MsgBox .Columns.Count
  End With

End Sub

最新20件 最新50件 最新100件 最新200件 200件以前
昨日以降 2日前以降 3日前以降 4日前以降 5日前以降

ExcelのVBAについてのQ&A掲示板

↑ExcelのVBA全般について分からない事があればこちらの掲示板よりご質問ください^^

VBAのInternetExplorer操作入門

↑ExcelのVBAをマスターできたら、エクセルVBAのIE(InternetExplorer)操作にも挑戦してみてください^^

VBAのIE制御入門RSS

RSSフィードを登録すると最新記事を受け取ることができます。

VBAIE操作のスカイプレッスン

エクセルVBAのステートメント

こちらでは、エクセルVBAの事例で利用したステートメントをまとめたものです。ExcelのVBAには様々な機能が用意されていますので一度ご確認ください。

エクセルVBAのオブジェクト

こちらでは、エクセルVBAの事例で利用したオブジェクトをまとめたものです。ExcelのVBAには様々な機能が用意されていますので一度ご確認ください。

エクセルVBAのプロパティ

こちらでは、エクセルVBAの事例で利用したオブジェクトのプロパティをまとめたものです。ExcelのVBAには様々な機能が用意されていますので一度ご確認ください。

エクセルVBAのメソッド

こちらでは、エクセルVBAの事例で利用したオブジェクトのメソッドをまとめたものです。ExcelのVBAには様々な機能が用意されていますので一度ご確認ください。

エクセルVBAのイベント

こちらでは、エクセルVBAの事例で利用したオブジェクトのイベントをまとめたものです。ExcelのVBAには様々な機能が用意されていますので一度ご確認ください。

dmb.cgi Ver. 1.068
Copyright(C) 1997-2014, hidekik.com