アプリ版:「スタンプのみでお礼する」機能のリリースについて

表1のセル値を、ユーザーフォーム1のA,B,Cに表示させたいのですが、
VBAでどのように書けばよいかわかりません。

ユーザーフォームを開くと最初に1行目のa1, b1, c1をA, B, C
のTextBoxに表示させ、

[次へ] ボタンをクリックすると下の行の値(a2,b,2,c2)を表示させる
ボタンに書くコードがわかりません。

[戻る] ボタンをクリックすると上の行の値を表示させる
ボタンに書くコードがわかりません。

また、[次へ]と[戻る]ボタンクリックの様な規則的ではなくランダムに
行ごとを表示させる方法もあれば教えて下さい。


質問内容以上です。
このような質問でご教示頂けるか不安ですが、宜しくお願い致します。

「VBAでユーザーフォームにセル値を表示さ」の質問画像

A 回答 (3件)

テキストボックスには、ControlSourceプロパティというのがあるのですが、これを設定すると任意のセルとリンクが張れます。

セルの値が表示できるだけではなく、テキストボックスの値を変更すれば、セルに反映してくれるので、目的によっては非常に便利です。
リンクを張り替えることにより、表示するセルを移動できます。
簡単なサンプルを書いてみたので、ご確認下さい。

Private Sub UserForm_Initialize()
A.ControlSource = "A1"
B.ControlSource = "B1"
C.ControlSource = "C1"
End Sub

Private Sub 次へ_Click()
On Error GoTo Fin
Selection.Offset(1).Select
A.ControlSource = "A" & Selection.Row
B.ControlSource = "B" & Selection.Row
C.ControlSource = "C" & Selection.Row
Fin:
End Sub

Private Sub 戻る_Click()
On Error GoTo Fin
Selection.Offset(-1).Select
A.ControlSource = "A" & Selection.Row
B.ControlSource = "B" & Selection.Row
C.ControlSource = "C" & Selection.Row
Fin:
End Sub
    • good
    • 4

あ、全部に答えてなかった。



フォームにセルの行番号を保持する変数を用意します。この場合だと1ですかね。
初期表示時は、cells関数使って、1行目の1,2,3列目のセルを取得。
次へボタンで、その変数をプラス1して、先ほどと同じように表示。戻るだとその逆。

そんな感じ。
ま、いろいろやってみて。
    • good
    • 0

フォームのイベントにinitializeっていうのがあると思います。


そこに記述します。

頑張ってね。
    • good
    • 1

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています


このQ&Aを見た人がよく見るQ&A