
With Range("A1").Validation
.Delete
.Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:= _
xlBetween, Formula1:="=Sheet2!$C$2:$C$14"
End With
この
Formula1:=
で、SpecialCells(xlCellTypeVisible) のような範囲指定はできないでしょうか?
For nextで可視セル判定する方法で対処はできますが、
ポンとできる方法はないかなと思いまして。
No.2ベストアンサー
- 回答日時:
こんにちは、
Formula1:=で、SpecialCells(xlCellTypeVisible)は試されたと思います。
何処までが簡単と思うのか、わかりませんが、リストを作り登録する方法が簡単だと思います。
リストの作り方は色々方法があります、悩ましい所ではすね。
(悩ましい)色々と言うのは、重複を省く必要を想像できるからですが
サンプルは、SpecialCells(xlCellTypeVisible)なので重複データが有っても
入力規則に登録されます。
入力規則なのだから重複は困る、、と思いますが
その方法は、Dictionaryオブジェクト や Collectionオブジェクト などで
調べてください。
Sub sample()
Dim Rng As Range, SC As Range
Dim ListArray(), i As Long, strList As String
With Sheet2
Set Rng = .Range(.Cells(2, "C"), .Cells(14, "C")).SpecialCells(xlCellTypeVisible)
End With
ReDim ListArray(Rng.Count)
For Each SC In Rng
ListArray(i) = SC.Value
i = i + 1
Next
'配列を,区切りの文字列に加工(一番右の,を除く)
strList = Left(Join(ListArray, ","), Len(Join(ListArray, ",")) - 1)
With ActiveSheet.Range("A1")
.Value = ""
.Validation.Delete
.Validation.Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:= _
xlBetween, Formula1:=strList
End With
End Sub
No.1
- 回答日時:
目的は何ですか?
手法を知るための質問です。
VBAで入力規則を設定する際に、
入力候補の範囲に可視セルのみを簡単に指定する方法はないか、
としか説明できません。
言葉で説明しづらいので、
Validation の、
Formula1:= で、
SpecialCells(xlCellTypeVisible)
のような可視セルに絞り込んだ範囲指定で候補を設定したい
という処理イメージを書く事でわかってもらえると思いました。
ほぼ質問に書いた内容と変わらないですが、
補足として求めておられる「目的」として不足であれば、
もう少し具体的に指摘お願いします。
自分としては十分伝わるだろうと思ってしまっているので、何が不足なのか気づけません。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) 前回ご教授いただいたコードに覚えたてのループ処理で品名りんごAから順に20回for nextでループ 7 2023/01/13 22:01
- Visual Basic(VBA) VBA シート上にドロップダウンリストを作り、予め指定値をセットしたいのですが 1 2023/03/25 15:15
- Visual Basic(VBA) データのある範囲を選択するVBAについて 2 2022/09/03 00:20
- Visual Basic(VBA) エクセルで、1つのセルで上書き足し算して セルの範囲を指定できますか? パソコン初心者です。 お時間 3 2023/07/05 06:13
- Visual Basic(VBA) Excelのマクロについて教えてください。 1 2023/03/12 12:16
- Visual Basic(VBA) excel2021で実行できないマクロ。どこを直したらいいのか 2 2022/03/28 03:40
- Visual Basic(VBA) Sheet3から2つの条件でオートフィルターで抽出した個数をSheet2へ入力するマクロで、一つ目の 4 2023/01/12 23:40
- Visual Basic(VBA) ExcelVBAの転記について 1 2022/03/23 20:13
- Visual Basic(VBA) Excelのマクロコードについて教えてください。 1 2022/03/27 13:25
- Visual Basic(VBA) 【VBA】Excelの特定範囲のセルを画像で保存したい 2 2023/01/25 13:06
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルの関数について
-
エクセルのリストについて
-
【マクロ】元データと同じお客...
-
エクセルのVBAで集計をしたい
-
【画像あり】オートフィルター...
-
【マクロ】数式を入力したい。...
-
【マクロ】【相談】Excelブック...
-
【マクロ】変数に入れるコード...
-
Office2021のエクセルで米国株...
-
【マクロ】実行時エラー '424':...
-
【マクロ】左のブックと右のブ...
-
エクセルの複雑なシフト表から...
-
【マクロ】別ファイルへマクロ...
-
他のシートの検索
-
エクセルシートの見出しの文字...
-
vba テキストボックスとリフト...
-
【マクロ】【配列】3つのシー...
-
ページが変なふうに切れる
-
【マクロ】オートフィルターの...
-
【マクロ】列を折りたたみ非表...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
9月17日でサービス終了らし...
-
エクセル
-
【マクロ】WEBシステムから保存...
-
エクセルの循環参照、?
-
エクセル ドロップダウンリスト...
-
エクセルのdatedif関数を使って...
-
特定のセルだけ結果がおかしい...
-
【マクロ】A列にある、日付(本...
-
【マクロ】EXCELで読込したCSV...
-
【マクロ】アクティブセルの時...
-
【エクセル】期限アラートについて
-
iPhoneのExcelアプリで、別のシ...
-
【関数】同じ関数なのに、エラ...
-
Excelの新しい空白のブックを開...
-
【マクロ】3行に上から下に並...
-
【マクロ】宣言は、何のために...
-
VBA チェックボックスをオーバ...
-
Excelについての質問です 並べ...
-
【マクロ】アクティブセルの2...
-
【関数】不規則な文章から●●-●●...
おすすめ情報