質問するログイン新規登録

Q&A

解決済

1回答

280閲覧

ユーザーフォームの表示

osigoto

総合スコア2

VBA

VBAはオブジェクト指向プログラミング言語のひとつで、マクロを作成によりExcelなどのOffice業務を自動化することができます。

0グッド

0クリップ

投稿2026/05/25 07:01

0

0

実現したいこと

他のsheetでも反映されるようにしたい

問題

小口sheet・Materiaru sheet と複数sheetがあります。
下記のコードを書いた時にMateriaru sheet上でしかユーザーフォームにデータが反映されません。
ご教授頂けましたら幸いです。

該当のソースコード

Option Explicit

Private Sub ListBox1_Click()
ListBox2.Clear
With Worksheets("Materiaru")
Dim i As Long
For i = 2 To .Cells(Rows.Count, 2).End(xlUp).Row
If Cells(i, 2).Value = ListBox1.Value Then
ListBox2.AddItem Sheets("Materiaru").Cells(i, 3).Value
End If
Next i
End With

End Sub

Private Sub UserForm_Initialize()

Dim LastRow As Long Dim i As Long LastRow = Sheets("小口勘定科目").Cells(Rows.Count, 1).End(xlUp).Row For i = 2 To LastRow ListBox1.AddItem Sheets("小口勘定科目").Cells(i, 1) Next i

End Sub

小口勘定科目sheetには重複科目なしの科目一覧がA列に入力されています
Materiaru sheetにはA列に重複してるかどうか確認する為のカウント関数
B列:勘定科目・C列:2つめの集計用の勘定科目

 B列の勘定科目をListBox1で選ぶとC列の2つめの勘定科目をListBox2に表示させています。

エクセル2019です。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

meg_

2026/05/25 12:45

1.コードの一部のみがマークダウンになっています。コード全体をマークダウンにしてください。 2.「下記のコードを書いた時にMateriaru sheet上でしかユーザーフォームにデータが反映されません。」とのことですが、どうやってマクロを呼び出しているのでしょうか?
osigoto

2026/05/28 04:20

ご回答ありがとうございました。
guest

回答1

0

ベストアンサー

下記の修正をしてみてください。

diff

1- If Cells(i, 2).Value = ListBox1.Value The 2+ If .Cells(i, 2).Value = ListBox1.Value The

.がないとアクティブシートが対象になります。

投稿2026/05/25 21:02

hatena19

総合スコア34390

osigoto

2026/05/28 04:20

解決しました!ありがとうございました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.25%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問