[[20041020201623]] 『マクロの列』(Ty) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『マクロの列』(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.