人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

A10?A100まで0という数値が入力されています。これに入力規則を設定したいと思っています。マクロで作り方を調べたら、

Range("A10:A100").Select
With Selection.Validation
.Delete
.Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:= _
xlBetween, Formula1:="あいうえお,かきくけこ"
.IgnoreBlank = True
.InCellDropdown = True
.InputTitle = ""
.ErrorTitle = ""
.InputMessage = ""
.ErrorMessage = ""
.IMEMode = xlIMEModeNoControl
.ShowInput = True
.ShowError = True
End With

というマクロが作成されました。ここで変数を用いて変数にXYZ="あいうえお,かきくけこ"
をセットしました。つまりFormula1の後はFormula1:=XYZとなります。XYZには正しくデータが
入力されています。これを利用してAccessからExcelにコードをはく時に利用しようと思っています。

流れは、
1.Access VBAでExcelのA10からA100まで"0"を出力します。
2.上記の入力規則のリストにXYZの中に入っている値をセットします。
3・出力完了。
4.ブックを閉じる。

というようにしたいのですが、出力は無事にできます。A10からA100にも"0"の値が出力されています。
問題はA10をクリックしてもプルダウンが表示されません。何が間違っているかわかりません。
ご教授のほどお願いいたします。

●質問者: akaired
●カテゴリ:コンピュータ
✍キーワード:A10 access ADD DELETE Excel
○ 状態 :終了
└ 回答数 : 1/1件

▽最新の回答へ

1 ● Mook
●200ポイント ベストアンサー

マクロの記録は大変有効なのですが、今回のケースやグラフの作成等、ときにそのままで

は正常に動作しないコードになります。


今回のケースは、Delete 部分を別にすることでとりあえず機能するようになるかと思います。

Sub akaired()
 Range("A10:A100").Validation.Delete

 With Range("A10:A100").Validation
 .Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:= _
 xlBetween, Formula1:="あいうえお,かきくけこ"
 .IgnoreBlank = True
 .InCellDropdown = True
 .IMEMode = xlIMEModeNoControl
 .ShowInput = True
 .ShowError = True
 End With
End Sub
◎質問者からの返答

おー、凄いです。見事にできました。なぜdelete部分を別にするかで動くかはまだ謎ですが、とりあえずよかったです。ありがとうございます!

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ