Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


1620 / 13646 ツリー ←次へ | 前へ→

【73084】ユーザーフォームから転記したいのですが もろ 12/11/6(火) 22:38 質問[未読]
【73085】Re:ユーザーフォームから転記したいのですが UO3 12/11/7(水) 11:34 発言[未読]
【73087】Re:ユーザーフォームから転記したいのですが もろ 12/11/7(水) 16:01 お礼[未読]
【73086】Re:ユーザーフォームから転記したいのですが UO3 12/11/7(水) 11:36 発言[未読]

【73084】ユーザーフォームから転記したいのですが
質問  もろ  - 12/11/6(火) 22:38 -

引用なし
パスワード
   初心者ですが今エクセルで患者さまデータを作成しており、ユーザーフォームを使って患者さま情報を一目みてわかるようにしています。オートフィルターとスクロールバーを同期させてテキストバックスに反映させるようにしているのですが、ユーザーフォームに入力すれば直接セルに入力できるようにするにはどうしたら良いでしょうか。記述は下記のとおりです。


Private Sub ScrollBar1_Change()
SelectRow→サブルーチン

For i = 1 To 65
Me.Controls("textbox" & CStr(i)).Value = Selection.Cells(1, i)
Next
End Sub


Private Sub UserForm_Initialize()
ScrollBar1.Min = 1
ScrollBar1.Max = CountRows()→Functionのプロシージャ
ScrollBar1.LargeChange = ScrollBar1.Max \ 10 + 1
ScrollBar1.Value = 1

SelectRow→サブルーチン

For i = 1 To 65

Me.Controls("textbox" & CStr(i)).Value = Selection.Cells(1, i)
Next
End Sub

Sub SelectRow()
Dim iRows As Long

iRows = 0
For i = 5 To ActiveSheet.UsedRange.Rows.Count
If Not Rows(i).Hidden Then→表示されている行のみカウント
iRows = iRows + 1
If iRows = ScrollBar1.Value Then→相対位置を判定
ActiveSheet.Rows(i).Select

Exit For
End If
End If
Next i

End Sub

Function CountRows() As Long
Dim iRows As Long
iRows = 0
For i = 1 To ActiveSheet.UsedRange.Rows.Count
If Not Rows(i).Hidden Then
iRows = iRows + 1
End If
Next i
CountRows = iRows→戻り値を設定
End Function
具体的な記述があればありがたいです!

【73085】Re:ユーザーフォームから転記したいので...
発言  UO3  - 12/11/7(水) 11:34 -

引用なし
パスワード
   ▼もろ さん:

コードはよく読んでいませんが、
・シート上のあるセルを選択したうえでユーザーフォームをモードレスで表示
・で、テキストボックスのTextBox1〜TextBox65にいれた値を選択したセルから横に
 それぞれの該当するセルに転記する。

こういう要件でしょうか?
もし、テキストボックス => セル だけではなく セル => テキストボックス という【双方向】でよければ
テキストボックスには ControlSource という紐付きセルを設定するプロパティがありますので
Initializeルーティンで以下のようにすることができます。

Private Sub UserForm_Initialize()
  Dim i As Long
  For i = 1 To 65
    Me.Controls("TextBox" & i).ControlSource = Selection.Cells(1, i).Address
  Next
End Sub

【73086】Re:ユーザーフォームから転記したいので...
発言  UO3  - 12/11/7(水) 11:36 -

引用なし
パスワード
   ▼もろ さん:

↑でモードレス表示と申し上げましたが テキストボックス => セル の一方通行でよければ
モーダル表示でも構いません。

【73087】Re:ユーザーフォームから転記したいので...
お礼  もろ  - 12/11/7(水) 16:01 -

引用なし
パスワード
   ▼UO3 さん:
>▼もろ さん:
>
>転記が可能なりました。アドバイスありがとうございました!!

1620 / 13646 ツリー ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free