• ベストアンサー

vbaで列を非表示にする方法はありますか?(フォームのデータシートビュー)

手動でちまちま「列を表示しない」をすると稼動がかかるので VBAで列を非表示にしたり、表示したりしたいのですがどうすればいいのでしょうか? フォームのデザインビューでテキストボックスのプロパティの可視を「いいえ」にして フォームを開いても列が表示されてしまいます。 ご存知の方がいらっしゃいましたら、教えてください。

質問者が選んだベストアンサー

  • ベストアンサー
noname#187541
noname#187541
回答No.1

こんばんは。 例えばA列を非表示する場合 Columns("A").Hidden = True です。 表示するにはFalseを設定します。 フォーム云々の方は全く見当違いのことをされています。

quygquygqu
質問者

お礼

すいません。アクセスでした。ありがとうございます。

その他の回答 (2)

  • bonaron
  • ベストアンサー率64% (482/745)
回答No.3

> VBAで列を非表示にしたり、表示したりしたいのですがどうすればいいのでしょうか? Forms!フォーム1("Text1").ColumnHidden=True とか。

quygquygqu
質問者

お礼

ありがとうございます。

  • mitarashi
  • ベストアンサー率59% (574/965)
回答No.2

Accessのご質問でしょうか? テーブルをそのまま用いないで、クエリーで必要なフィールドだけ選び出し、それをフォームに表示させるのではダメでしょうか? VBA+ADOで、SQLで選択するフィールドをプログラムで変更する事も可能でしょう。

quygquygqu
質問者

お礼

アクセスです。説明不足ですいません。 難しそうですががんばってみます。ありがとうございます。

関連するQ&A

  • こんなことがフォーム上で表示できますか?

    フォーム(既定のビュー:帳票フォーム)詳細に、クエリで表示させた現在のtxt生産台数とtxt予定台数を比較して、テキストボックス(非連結)に「完了」や「生産中」と表示させたいと考えております。 はじめはテキストボックスではなく、ラベルの可視プロパティをVBAで制御を試みましたが、比較がうまく機能していなくて・・・ いろいろとチャレンジしましたが、くじけております。 ヒントなどいただけたらよろしくお願いします。 環境:WinXp Pro、Access2002

  • VBAユーザーフォームで

     エクセルVBAでユーザーフォームより、テキストボックスで入力させたものをセルに表示させようとしています。  テキストボックスは1と2があり、テキストボックス1で入力した値の最初の5文字+固定値をテキストボックス2に自動で入力(表示)したいのですがなかなかうまくいきません。(自動入力後、手動で一部修正します。)  VBAをはじめたばかりの初心者ですが、どうぞよろしくお願いします。

  • VBAのテキストボックスに文字列を貼り付ける方法

    こんにちは エクセルのVBAのユーザーフォーム上に作ったテキストボックスに 他でコピーした文字列(または数値)を貼り付け(ペースト)たいのですが、 テキストボックスのプロパティの項目のどれかを設定すれば可能でしょうか? 現状ではここで、右クリック自体できなくなっています。 使っているのはエクセル2000です。

  • エクセルVBAのフォームの表示する文字を見やすくしたい

    エクセルVBAでフォームを作りました。 使いやすくするために テキストボックスの文字を大きくしたり、 大きなテキストボックスでは文字を折り返し表示をさせたりしたいのですが、どうすればいいかわかりません。 教えてください。

  • エクセル VBA フォーム設定について

    いつもお世話になっています。 エクセル VBAでユーザーフォームについて教えてください。 あるシートのデータをフォームに読み込み、違うシートにそのデータを書き込んでいます。元データの列順と書き込むシートの列順が違うので、VBAで設定して使っています。 書き込みはうまくいっています。ただ、書き込む際にフォーム上で少しデータを修正して書き込みを行うのですが、編集したいフォーム上のテキストボックスをクリックすると、データの最後のほうにカーソルが飛んでしまいます。 テキストボックスをできるだけ大きくして対応していますが、限度があります。テキストボックスをクリックした際にデータの最後(文字データで言うと文章の最後を表示してしまう)まで動かずに、クリックしても先頭のままになるようにするにはどうすればいいのでしょうか。 同じように、コンボボックスもクリックするとリストの最後から表示されます。リストの先頭から表示させる方法を教えてください。

  • EXCEL・VBAフォームの日付(表示形式を変更したい)

    VBA初心者です。フォームの中にテキストボックスを作成しています。規定値にあるシートのセルを表示しています。このセルは日付(西暦4桁)で入力しているのですがテキストボックスでは(西暦2桁)で表示されてしまいます。 FORMATというのを使用すればよいようなのですがどうつかえばいいのかわからないのです。 プロパティでテキストボックスのコントロールソースにそのセルを指定しています。 どのように記述すればよいでしょうか。 詳しい方教えていただけますでしょうか。 よろしくお願いいたします。

  • Accessのフォームについて

    Access2000を使用しています。 フォーム/デザインビューで「プロパティ」からテキストボックスの名前を変更したのですが、 それがデータシートビューのカラム名に反映されません。 テキストボックスを何度もコピペしたり、「ラベル」が邪魔で削除したりしたのですが、 これがいけなかったのでしょうか? 既にかなりのデータを入力してしまった(気付くのが遅かった)ので、 出来ればフォームの作り直しは避けたいのです。 効率的な解決方法を教えて下さい。

  • Excel VBA 列の表示と非表示について

    Excel VBA 列の表示と非表示について いつも参考にさせて頂いています。 現在扱っているデータの列が90以上あり、データとしては便利なのですが時に見辛く感じる事があります。 (1).ユーザーフォームからコマンドボタンで一度全ての列を非表示にする。 (2).(1)を行ってからチェックボックスで表示させたい列を表示させる。 といった行程でVBAを組む事は可能でしょうか? 列の表示と非表示について自分なりに調べてみたのですが、消したい列をチェックボックスで消す方法は見つけたのですがそれでは90項目の列の中で5項目だけが必要な場合85回チェックを入れなくてはならなくなり、もう少し効率的な方法があればと考えております。 方法について分かる方は、例をご教示いただけますでしょうか? 宜しくお願いします。

  • Access フォーム上でのテキストボックスとテーブルの連結

    フォームヴィザードからフォームを作成すると、 テキストボックスと指定したテーブルを連結させることができるのですが、デザインビューでそれをするときに、テキストボックスのプロパティのコントロールソースにテーブル名を入れれば連結できるのかと思いきや、うまく表示されません。どこを設定すればテキストボックスとテーブルを連結できるのでしょうか?

  • VBAでフォームのスクロールバーが下にいってしまう

    縦に長いフォームを作っているのですがフォームビューをするとフォームがやや下の方の画面で開けられてしまいます。 原因はフォームオープン時に対象レコードをテキストボックスに入れたり、プルダウンボックスにレコードをセットしたりしているからだと思います。(全てコーディングで) どうすればスクロールバーを一番上まで戻すことができますか?元からスクロールバーを移動させずにレコードをセットする方法でもかまいません。 それともう一つ、フォームのプルダウンボックスに、プロパティの値集合ソースからSQLをセットしたりする方法がありますが、VBAのグローバル変数をWHERE句に使用したい場合はこの方法は使えませんよね? 最後にもう一つクエリはVBAのグローバル変数使えませんよね? フォームのコントロールから値を取得することもできませんよね?

専門家に質問してみよう