[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『マクロの列』(Ty)
Private Sub userform_activate() Cells(ActiveSheet.UsedRange.Rows.Count + 1, 1).Select End Sub を使用しています。 上記は A列のようですが、私は、D列を希望します。 列は どのように書き加えればいいのでしょう。 お教えください。
Cells(行, 列) です。 (Hatch)
ありがとうございました。(Ty)
追加の質問です。よろしくお願いします。
ユーザーフォームの中のコマンドボタンを押して D列、E列、F列に数字を入力したい。 A B C D E F 1 通番(数値) コート(式) コート計(vlk) 部門コード 氏名コード 氏名コード2 2 1 1 31 3 2 1 31 4 3 2 41 といった表です ボタンのマクロは、 Private Sub commandbutton1_click() Dim myrows As Long Dim mycolumns As Long myrows = ActiveSheet.UsedRange.Rows.Count + 1 mycolumns = ActiveSheet.UsedRange.Columns.Count + 4
Cells(myrows, 1).Value = Me.TextBox1.Value Cells(myrows, 2).Value = Me.TextBox2.Value Cells(myrows, 3).Value = Me.TextBox3.Value
Me.TextBox1.Value = "" Me.TextBox2.Value = "" Me.TextBox3.Value = "" TextBox1.SetFocus End Sub です。 D1をアクティブにして、TextBox1、2、3、を入力してボタンを押してD1、E1、F1に書き こむと 次のアクティブセルが、D4となってしまいます。 それを、D2としたい。
まとめ D1E1F1、D2E2F2、D3E3F3 の順々に入力をしたいのです。 どういったふうに書き直せばいいでしょうか? お教えください。(Ty)
myrows = ActiveSheet.UsedRange.Rows.Count + 1 は、4が代入されるからですよね。
それから上記でD,E,F列に書き込めますか?(^_^A; 勘違いでしたらm(._.)m ペコッ (川野鮎太郎)
MsgBox ActiveSheet.UsedRange.Address で入力したいセルと最終セルを比較してみて。 (みやほりん)
これで良いのじゃないかな・・・
Sub Test()
Dim myrow As Long Dim mycolumn As Long
mycolumn = 4 '書き込み開始列 myrow = Cells(65536, mycolumn).End(xlUp).Row + 1 '書き込み開始行
Cells(myrow, mycolumn).Value = Me.TextBox1.Value Cells(myrow, mycolumn + 1).Value = Me.TextBox2.Value Cells(myrow, mycolumn + 2).Value = Me.TextBox3.Value
Me.TextBox1.Value = "" Me.TextBox2.Value = "" Me.TextBox3.Value = "" TextBox1.SetFocus
End Sub
変数の定義名がバラバラだったので修正しました(^_^A; (川野鮎太郎)
はい、鮎太郎さんのんが実用的ですワ。 UsedRangeはチョットした事でとんでもないセルを指定しますからなぁ。 (弥太郎)
川野鮎太郎さん、みやほりんさん、弥太郎さんへ 編集中 2度衝突しました さっそく川野鮎太郎さんのコードをセットし動作を見させていただきます。 いつも有難うございます。(Ty)
動作の確認ができ原本の表にセットしました。 有難うございます。 これにて本件は完結です。 ただ、 Me.TextBox4 を作って、これに入力規則(下向矢印)をセットして、 Box4に入力する方法もできるんでしょうか?(Ty)
テキストボックスと言うよりは、コンボボックスになるんじゃないかな。
(川野鮎太郎)
こんな感じでしょうか。
Private Sub UserForm_Initialize() ComboBox1.RowSource = "A1:A4" 'A1からA4の値をコンボボックス1にセット ComboBox2.RowSource = "B1:B4" 'B1からB4の値をコンボボックス2にセット ComboBox3.RowSource = "C1:C4" 'C1からC4の値をコンボボックス3にセット End Sub
Private Sub CommandButton1_Click() Dim myrow As Long Dim mycolumn As Long
mycolumn = 4 '書き込み開始列 myrow = Cells(65536, mycolumn).End(xlUp).Row + 1 '書き込み開始行
Cells(myrow, mycolumn).Value = ComboBox1.Value Cells(myrow, mycolumn + 1).Value = ComboBox2.Value Cells(myrow, mycolumn + 2).Value = ComboBox3.Value ' Cells(myrow + 1, mycolumn).Activate 'これは要らないかも
End Sub (川野鮎太郎)
説明不足ですみません。 ユーザーフォームには TextBox1 (数値を入力) TextBox2 (数値を入力) TextBox3 (数値を入力) ComboBox1 (文字を入力規則 K1:K5 で選択) CommandButton (実行) を作成し、 マクロをこのようにしました。 Dim myrow As Long Dim mycolumn As Long
mycolumn = 4 '書き込み開始列 myrow = Cells(65536, mycolumn).End(xlUp).Row + 1 '書き込み開始行
Cells(myrow, mycolumn).Value = Me.TextBox1.Value Cells(myrow, mycolumn + 1).Value = Me.TextBox2.Value Cells(myrow, mycolumn + 2).Value = Me.TextBox3.Value Cells(myrow, mycolumn + 3).Value = ComboBox1.Value
Me.TextBox1.Value = "" Me.TextBox2.Value = "" Me.TextBox3.Value = "" Me.ComboBox1.Value = "" TextBox1.SetFocus で、ComboBox1で「東京」を選択まで、できました。 しかし、ボタンで実行しても作動しません。 ご教示よろしくお願いします。(Ty)
作動しませんとは、具体的にどのような? 1.エラーが出る。 2.何も変わらない。 3.違う結果になる。 ※ComboBox1 (文字を入力規則 K1:K5 で選択) ←この意味が良くわからない(^_^A;
(川野鮎太郎)
>2.何も変わらない。 です >(文字を入力規則 K1:K5 で選択) とは、ComboBox1に下のマクロが貼ってあり (K1東京 K2大阪 K3名古屋・・・) Private Sub UserForm_Initialize() ComboBox1.RowSource = "k1:k5" End Sub Boxの矢印で選択しました。 よろしくお願いします。(Ty)
Private Sub UserForm_Initialize() ComboBox1.RowSource = "k1:k5" End Sub 上記はどこに入れてますか? UserFormの中で、CommandButton1_Click()の外ですよ。 (川野鮎太郎)
やっと、できました。 (作動不能理由は、各TextBox、CoBOX、Cmボタン毎に必要と思われるマクロを 個々に貼った。 しかし、Userformを右クリックで見ましたら、CommandButton1_Click()のマクロが なかったので、それを貼ったところ作動しました。) 大変お手数をおかけしました。 いつも、すみません。 (Ty)
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.