
Function mycount(y As Range)
Dim num As Integer
Dim c As String
Dim a As Range
c = y.Address
For Each a In Range(c)
If a.Text = ">" Then
num = num + 1
End If
Next a
mycount = num
End Function
この関数を定義して,ワークシート上で=mycount("範囲")と入力するとその範囲内に">"のマークがいくつあるかを返します。この場合,引数yで指定された範囲のアドレスをcに入れていますが,yのアドレス取得せずにfor each a in range(y)としても正しい値を返してくれません。なぜでしょうか?
また同じような問題で(サブプロシージャで)
dim dat as range
set dat = application.inputbox()
とした時,このdatにはいったい何が入っているのですか?
No.1ベストアンサー
- 回答日時:
>yのアドレス取得せずにfor each a in range(y)としても正しい値を返してくれません。
for each a in y が正しいでしょう。
y はRange オブジェクトなので、改めてRange()に入れる必要はありません。
>set dat = application.inputbox()
application.inputbox() の戻り値(値の取得方法)として、セル情報(Range)を取得する事が可能です。
そのような指定がしてあれば、選択されたセル(範囲)の情報を入れる事が可能です。
早速の回答ありがとうございました。
なるほど,yはRangeオブジェクトだったからRange(y)とした場合に不具合が起きてしまったのですね。納得いきました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Excel UserForm の表示位置
-
VBAマクロ実行時エラーの修正に...
-
特定の色のついたセルを削除
-
VBA:日付を配列に入れ別セルに...
-
C# DataGridViewで複数選択した...
-
【VBA】【ユーザーフォーム_Lis...
-
エクセル、マクロで番号を読込...
-
[Excel VBA] このコードでは行...
-
データグリッドビューの結合セ...
-
エクセルVBA 配列からセルに「...
-
VBA 特定のセルからoffsetされ...
-
【Excel VBA】マクロで書き込ん...
-
Excelで空白セル直前のセルデー...
-
Excel VBAで特定の範囲の空白セ...
-
DataGridViewでグリッド内に線...
-
VBAを用いた散布図グラフの線種...
-
【Excel VBA】一番右端セルまで...
-
マウスオーバーでセル内の背景...
-
指定した文字から指定した文字...
-
エクセルVBAで、セル内のテキス...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Excel UserForm の表示位置
-
VBAマクロ実行時エラーの修正に...
-
特定の色のついたセルを削除
-
Excelで空白セル直前のセルデー...
-
エクセルVBA 配列からセルに「...
-
【VBA】【ユーザーフォーム_Lis...
-
【VBA】写真の貼り付けコードが...
-
データグリッドビューの結合セ...
-
複数指定セルの可視セルのみを...
-
エクセル、マクロで番号を読込...
-
CellEnterイベント仕様について
-
C# DataGridViewで複数選択した...
-
【ExcelVBA】値を変更しながら...
-
EXCEL VBA 文中の書式ごと複写...
-
マクロ初心者です。 マクロで範...
-
【Excel VBA】一番右端セルまで...
-
【Excel VBA】マクロで書き込ん...
-
VBA:日付を配列に入れ別セルに...
-
DataGridViewでグリッド内に線...
-
DataGridViewのフォーカス遷移...
おすすめ情報