No.1ベストアンサー
- 回答日時:
> vbaで可能なのでしょうか?
可能です。
VBAで、データシートでのフィールドの並び順を変えるには、
コントロールの「ColumnOrder」プロパティを使用します。
以下、データシート表示しているフォームの名前を「DS1」、
列を操作するためのポップアップ型フォームの名前を「PF1」
とした場合のコード例になります:
'PF1上の「列移動」コマンドボタンのクリック時イベント
Private Sub 列移動_Click()
'「DS1」フォームの「フィールド2」を、左端に移動
'(ColumnOrderは、一番左端が1になります)
Forms!DS1!フィールド2.ColumnOrder = 1
End Sub
・・・以上です。
なお、ここでの「フィールド2」は、『コントロール ソース』となる
フィールドの名前ではなく、データの表示に使用している
コントロールの名前(テキストボックス名など)になるので、
注意してください。
(データシート型にしているので、通常より間違いやすいかと:
「フィールド名=コントロール名」で作成している場合は
特に問題ありません)
~~~~~~~~~~~~~~~~~~~~~~~
実際に使用する場合は、対象フィールドや移動する位置も
ユーザーが指定することになるでしょうから、例えば以下の
ような形になるかと思います:
Private Sub 列移動_Click()
'エラー発生時は「エラー処理:」の行に飛ばす
On Error Goto エラー処理
Dim Frm As Form, Ctl As Control
Dim sCName As String, iOrder As Integer
'「DS1」フォームの『対象列』コンボボックスで移動する
'フィールドを、『移動先』テキストボックスで移動先を、
'それぞれ指定
sCName = Me!対象列
iOrder = Me!移動先
'対象フォームとコントロールを変数に格納
Set Frm = Forms!DS1
Set Ctl = Frm.Controls(sCName)
'指定したコントロールを、指定した位置に移動
Cntl.ColumnOrder = iOrder
終了処理:
'明示的にメモリを解放した後、処理を終了
Set Ctl = Nothing
Set Frm = Nothing
Exit Sub
エラー処理:
'エラー発生時はMsgBoxでその説明を表示して、処理を中断
MsgBox Err.Number & ":" & Err.Description, vbCritical ,Me.Name & " 列移動"
Resume 終了処理
End Sub
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) Excelにて、行の最後のセルの値をコピーして別sheetに張りつけるVBAコードをご教授願います 3 2022/11/20 14:35
- Excel(エクセル) Excel 表の作成について 3 2022/06/16 12:15
- その他(Microsoft Office) 1の行を固定した上でVBAを用いて日付順に自動並べ替え 2 2022/06/06 15:09
- JavaScript HTML&CSS Javascriptによる動的テーブル 1 2023/03/27 19:51
- Visual Basic(VBA) PowerPoint VBA で画像の鮮明度を変更する方法がわかりません 2 2023/03/24 13:34
- Visual Basic(VBA) ExcelのVBAコードについて教えてください。 2 2022/06/22 11:19
- Visual Basic(VBA) VBA 画面上のカーソルに文字数字を入力するコードを教えて下さい 1 2022/10/30 10:31
- Access(アクセス) AccessVBAで降順にするテーブル作成クエリを使用して作成したテーブルを削除し同一のテーブル作成 1 2023/01/06 11:17
- Excel(エクセル) エクセル・スプレッドシートで、一定数を超えたらゼロから再累計する方法 8 2022/05/28 03:52
- Visual Basic(VBA) 昨日、質問した件『VBA にて、条件付き書式で背景色を設定しているセルの範囲で、背景色付きのセルをカ 4 2022/04/07 14:39
このQ&Aを見た人はこんなQ&Aも見ています
-
プロが教えるわが家の防犯対策術!
ホームセキュリティのプロが、家庭の防犯対策を真剣に考える 2組のご夫婦へ実際の防犯対策術をご紹介!どうすれば家と家族を守れるのかを教えます!
-
アクセス VBAで列の入れ替え データシートビュー
その他(Microsoft Office)
-
希望の位置へフィールドを追加するには?
その他(Microsoft Office)
-
位置を指定してフィールドを追加する
SQL Server
-
-
4
ACCESSのフィールドの表示順が変更できない
その他(Microsoft Office)
-
5
アクセスVBAで既に開いているエクセルを閉じたい
Yahoo!ショッピング
-
6
Access 最後のレコードに到達するまでループ処理を行う方法
Access(アクセス)
-
7
ACCESSでフィールド名の変更(VBA)
Access(アクセス)
-
8
Access フォームのテキストボックスに半角英字のみで入力する設定は
Access(アクセス)
-
9
Accessの条件付き書式設定で、複数の条件が一致した時の書式を設定したい
その他(Microsoft Office)
-
10
access マクロでのフィルタの解除の方法
Access(アクセス)
-
11
Accessでテーブルからテーブルにデータをコピーしたい
その他(データベース)
-
12
Access サブフォームでの選択行の取得
その他(データベース)
-
13
エクセル:マクロ「Application.CutCopyMode = False」って?
Excel(エクセル)
-
14
アクセスで数値型のフィールドにNullをいれたい
その他(データベース)
-
15
Accessで、1つの項目に複数の置換えを1度でするには?
Access(アクセス)
-
16
Accessでテーブルの値をテキストボックスに代入するには?
Access(アクセス)
-
17
Accessのクエリーのゼロデータ行の非表示の仕方
Excel(エクセル)
-
18
Accessでレコードを別テーブルへコピーするには
Access(アクセス)
-
19
AccessからExcelにエクスポートする時に常に上書きしたい
Excel(エクセル)
-
20
ADOをし使用して、Accessのテーブルの中のフィールドを消したいのですが。
Visual Basic(VBA)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
差込印刷での全角表示について...
-
エクセルにおける「フィールド...
-
Wordの差込印刷時間の表示について
-
csvファイルのインポート
-
ACCESS 重複データを1...
-
ワードファイルの文字数制限ロ...
-
CSVファイル読み込みでズレがお...
-
アクセス:Yes/No型→チェックい...
-
Accessのハイパーリンクをクリ...
-
クエリで割り算する方法を教え...
-
ACCESSのデータに自動で半角ス...
-
varchar型の入力できる最大文字...
-
VBAよりCSVファイルの任意の行...
-
datetime型のUpdate文
-
ACCESSで条件によってフォーム...
-
レコードの内容にハイフンをつ...
-
「Access2007」でレポートが作...
-
実行時エラー '3464': 抽出条件...
-
列を移動させるvbaコードを教え...
-
ToV、サブイベント・犬マップの...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
差込印刷での全角表示について...
-
エクセルにおける「フィールド...
-
エクセルデータをワードで差し...
-
ACCESS 重複データを1...
-
フィールドの更新がない
-
クエリで割り算する方法を教え...
-
ACCESSのデータに自動で半角ス...
-
Word差し込み印刷のハイフン(...
-
Accessのハイパーリンクをクリ...
-
Acsess アクセス のクエリで...
-
アクセスのクエリでパラメータ...
-
ACCESSでフィールド名の変更(...
-
ACCESSで条件によってフォーム...
-
実行時エラー '3464': 抽出条件...
-
列を移動させるvbaコードを教え...
-
クエリーで、全角混じりデータ...
-
レコードの内容にハイフンをつ...
-
sqlserverにはグループ集計のfi...
-
Accessフィールド分割
-
ACCESSでフィールドに-(ハイフ...
おすすめ情報