advanced help
per page, with , order by , clip by
Results of 1 - 1 of about 13158 for 日付 (0.003 sec.)
[[20210615132933]]
#score: 2423
@digest: 6ed8c12be0e451ab7e56297111cef5f9
@id: 88047
@mdate: 2021-06-16T12:55:01Z
@size: 10716
@type: text/plain
#keywords: 社商 (84880), 者商 (78965), 正光 (53346), listbox3 (49134), 約欄 (43280), 文予 (41734), 品6 (30768), 社li (29295), 業者 (23628), 品5 (23627), combobox2 (23337), 社】 (20876), 品1 (19849), 【6 (18723), 品4 (18568), 商品 (16933), 目実 (15943), 【商 (14392), listbox1 (13506), ・商 (11814), 品2 (11213), ・会 (10485), 品3 (9704), objdic (9407), selected (9364), 付欄 (8615), 数選 (8308), 紙") (8239), 力列 (7613), 社d (6725), 原紙 (6348), 力行 (6281)
『複数の設定データを横方向に一括入力するにはどうすればいいですか?』(正光)
Listbox1で業者を選択しListBox3で日付を設定し、ComboBox2で商品を設定したデータをCommandButton1_Clickして横方向にカレンダーTbl(Worksheets("原紙").Range("c3").Resize(31, 23))に入力していきたいのですが、うまくいきません?教えて頂けないでしょうか? ただし、Listbox1とListbox3は複数選択が可能で複数のデータを入力することが出来るように Private Sub CommandButton1_Click() Dim tbl As Range Dim 行 As Long Dim 列 As Long With ListBox1 '業者名が入ってます For i = 0 To .ListCount - 1 If .Selected(i) = True Then リスト = リスト & " " & " " & " " & .List(i) & vbCrLf ListBox1.Selected(i) = False End If Next i End With With ListBox3 '日付が入ってます。 For 行 = 0 To .ListCount - 1 If .Selected(行) = True Then 列 = ActiveSheet.Cells(行, Columns.Count).End(xlToLeft).Column + 1 If 行 * 列 = 0 Then Exit Sub Set tbl = Worksheets("原紙").Range("c3").Resize(31, 23) tbl(行, 列).Value = ComboBox2.Value & リスト ListBox3.Selected(行) = False End If Next 行 End With ListBox3.Value = "" ComboBox2.Value = "" End Sub < 使用 Excel:Excel2019、使用 OS:Windows10 > ---- 全体のレイアウトがよくわかりません。 例えば↓のように【】で囲まれているのが選択されているものだとして Listbox1・・・業者 【A社】 B社 【C社】 D社 ListBox3・・・日付 【6/1】 6/2 【6/3】 【6/4】 ComboBox2・・・商品 【いろは】 ↓がどのようになれば正解なのですか? ●「原紙」シート ___C___ ___D___ ___E___ ___F___ ___G___ ___H___ 3 4 5 6 7 8 9 10 (もこな2) 2021/06/15(火) 17:10 ---- ありがとうございます。 ___C___ ___D___ ___E___ ___F___ ___G___ ___H___(注文予約欄) 3 A業者商品1 B業者商品3 C業者商品5 → 4 A業者商品2 B業者商品4 C業者商品6 → 5 ・ ・ ・ 6 B業者商品5 C業者商品1 → 7 B業者商品4 C業者商品6 → 8 ・ ・ ・ 9 A業者商品8 →・ ・ 10 B業者商品7 → ・ ・ ・ (日付欄) まずcombobox2で商品を選択しListbox1で業者を選択し最後に日付を選択すれば同じ日付なら ば横にデータが入っていくようにしたいのです (正光) 2021/06/15(火) 17:52 ---- 列 = ActiveSheet.Cells(行, Columns.Count).End(xlToLeft).Column + 1この部分をどのように変更すればいいか分かりません (正光) 2021/06/15(火) 19:10 ---- うーん。さっぱりわかりません。 こちらが提示した条件(Listbox1、Listbox3の選択状況)にあわせてレイアウト提示されるか、希望の完成図にあわせて選択条件(Listbox1、Listbox3、ComboBox2の状況)を提示しなおしされるのが筋じゃないですか? 提示されたものだと、複数選択しないはずのComboBox2(商品)が複数ありますし少なくとも私には状況が理解できません。 (もこな2) 2021/06/15(火) 20:41 ---- もこな2様本当にすいませんでした。 Listbox1・・・商品 【A社】 B社 【C社】 D社 ListBox3・・・日付 【6/1】 6/2 【6/3】 【6/4】 ComboBox2・・・業者 【いろは】 ___C___ ___D___ ___E___ ___F___ ___G___ ___H___(注文予約欄) 3 A業者商品1 B業者商品3 C業者商品5 → 4 A業者商品2 B業者商品4 C業者商品6 → 5 ・ ・ ・ 6 B業者商品5 C業者商品1 → 7 B業者商品4 C業者商品6 → 8 ・ ・ ・ 9 A業者商品8 →・ ・ 10 B業者商品7 → ・ ・ ・ (日付欄) まずcombobox2で業者を選択しListbox1で商品を選択し最後に日付を選択すれば同じ日付ならば横にデータが入っていくようにしたいのです (正光) 2021/06/15(火) 17:52 (正光) 2021/06/16(水) 06:50 ---- 何が変わったんでしょうか・・・とみていて変わったのこっちですか・・ Listbox1・・・業者 →商品 ListBox3・・・日付 ComboBox2・・ 商品 →業者 変更前 Listbox1で業者を選択しListBox3で日付を設定し、ComboBox2で商品を設定したデータ 変更後 combobox2で業者を選択しListbox1で商品を選択し最後に(ListBox3で)日付を選択 そうなると【複数】選択される可能性があるのはどの項目なのですか? 【複数選択】されている形で、完成形と選択状態両方の、名称をあわせて提示してください。 "A社"なら"A社"、"A業者"なら"A業者"、"いろは"なら"いろは"、"商品1"なら"商品1"のように、選択されるものと完成予定図を合わせていただかないと、私には理解できません。 (もこな2) 2021/06/16(水) 08:03 ---- ComboBox2・・・会社名 【A社】 B社 【C社】 D社 ListBox3・・・日付 【6/1】 6/2 【6/3】 【6/4】 Listbox1・・・商品 【商品1】 商品2 【商品3】 【商品4】 商品5 商品6 ___C___ ___D___ ___E___ ___F___ ___G___ ___H___(注文予約欄) 3 A社商品1 B社商品3 C社商品5 → 4 A社商品2 B社商品4 C社商品6 → 5 ・ ・ ・ 6 B社商品5 C社商品1 → 7 B社商品4 C社商品6 → 8 ・ ・ ・ 9 A社商品8 →・ ・ 10 B社商品7 → ・ ・ ・ (日付欄) まずcombobox2で業者を選択しListbox1で商品を選択し最後に日付を選択すれば同じ日付ならば横にデータが入っていくようにしたいのです 複数選択可能なコントロールはListBox3・・・日付 Listbox1・・・商品の2つです。 (正光) 2021/06/16(水) 11:25 ---- ■1 >複数選択可能なコントロールはListBox3・・・日付 >Listbox1・・・商品の2つです。 ならば、↓はおかしくないですか?(これでは複数選択しているイメージですよね。) ComboBox2・・・会社名 【A社】 B社 【C社】 D社 ■2 >同じ日付ならば 「カレンダーTbl(Worksheets("原紙").Range("c3").Resize(31, 23))」と言っているので想像はつきますが、【同じ日付】とは何を示すのか、出力セル範囲の【行or列】で説明してください。 (万が一誤解があると手間なので) さらに、想像ですが追記していくと、【23件】以上は表範囲を超えると思うんですが、そこは考慮しなくてよいのですか? ■3 >横にデータが入っていくようにしたい どうも、【追記】するようなイメージでいるようなので、そうであればレイアウトはマクロ【実行前】と【実行後】の両方を提示してください。 (現状だと、選択していない会社名や商品まで(■2と絡みますが、たぶん日付も)出力されているので訳が分かりません) (もこな2) 2021/06/16(水) 12:16 ---- ■1 ComboBox2・・・会社名 【A社】 B社 C社 D社 ComboBox2会社名は複数選択が可能ではありませんでした。 ■2 【同じ日付】とは各々会社が商品を注文する日が同じ日、出力セル範囲の【行が日付(Listbox3複数選択可)or列が注文予約欄(各々の会社名(ComboBox2)&商品データ(Listbox1複数選択可)】 【23件】以上は表範囲を超えるが、考慮しなくていいです。 ■3 >横にデータが入っていくようにしたい 【1回目実行前】 ComboBox2・・・会社名 【A社】 B社 C社 D社 E社 ListBox3・・・日付 【6/1】 6/2 【6/3】 【6/4】 Listbox1・・・商品 【商品1】 商品2 【商品3】 【商品4】 商品5 商品6 【1回目実行後】 __C___ ___D___ ___E___ (注文予約欄) 3(6/1) A社商品1,3,4 4(6/2) 5(6/3) A社商品1,3,4 6(6/4) A社商品1,3,4 7(6/5) 8(6/6) 9(6/7) 10(6/8) (日付欄) 【2回目実行前】 ComboBox2・・・会社名 A社 【B社】 C社 D社 E社 ListBox3・・・日付 【6/1】 6/2 【6/3】 【6/4】 Listbox1・・・商品 商品1 【商品2】 商品3 商品4 【商品5】 【商品6】 【2回目実行後】 __C___ ___D___ ___E___ (注文予約欄) 3(6/1) A社商品1,3,4 B社商品2,5,6 4(6/2) 5(6/3) A社商品1,3,4 B社商品2,5,6 6(6/4) A社商品1,3,4 B社商品2,5,6 7(6/5) 8(6/6) 9(6/7) 10(6/8) (日付欄) まずcombobox2で業者を選択しListbox1で商品を選択し最後に日付を選択すれば 同じ日付ならば横にデータが入っていくようにしたいのです。 各々の会社が注文する商品の組み合わせはほとんど同じパターンですから 同じ日に別々の会社が重なれば横にデータが入っていくようにしたいのですが もこな2さん ご指導宜しくお願い致します。 (正光) 2021/06/16(水) 20:07 ---- ■4 >ComboBox2会社名は複数選択が可能ではありませんでした。 そうです「ComboBox」ですからね。 ■5 >23件】以上は表範囲を超えるが、考慮しなくていいです。 わかりました。 ■6 >>横にデータが入っていくようにしたい それは察しがついてます。 確認したかったのは【3行目から下方向に6/1〜6/30まで日付ごとになっている】ということでした。 完成予定図のほうはずれてよくわかりませんが、↓はちょっとめんどくさいのでパスします。 【A社商品1,3,4】 ■7 とりあえず情報をまとめると、 (1)ListBox3(日付)から【出力行】を求め (2)【出力行】に対応する最終列を求めて右にずらす(出力列) (3)そのセルから右に「ComboBox2(会社名)」と「Listbox1(商品)」を組み合わせたものを出力する とすればよさそうにおもいます。 ■8 >もこな2さん ご指導宜しくお願い致します。 とりあえず考えたことは提示しますが、私にはいまいち詳細が理解できないので一旦ここまでとします。(といいつつコメントするかもですが) Private Sub UserForm_Initialize() Dim MyDate As Date Me.ComboBox2.List = Array("A社", "B社", "C社", "D社") Me.ListBox1.List = Split("商品1,商品2,商品3,商品4,商品5,商品6", ",") For MyDate = DateSerial(2021, 6, 1) To DateSerial(2021, 7, 0) Me.ListBox3.AddItem Format(MyDate, "m/d") Next MyDate End Sub '=========================================== Private Sub CommandButton1_Click() Dim i As Long, 出力行 As Long, 出力列 As Long Dim objDIC As Object If Me.ComboBox2.ListIndex = -1 Then MsgBox "会社名が選択されていません" Exit Sub End If Set objDIC = CreateObject("Scripting.Dictionary") With Me.ListBox1 For i = 0 To .ListCount - 1 If .Selected(i) Then objDIC.Add Me.ComboBox2.Text & .List(i), Me.ComboBox2.Text & .List(i) Next i End With If objDIC.Count = 0 Then Exit Sub With Worksheets("原紙") For i = 0 To Me.ListBox3.ListCount - 1 If Me.ListBox3.Selected(i) Then 出力行 = Day(CDate(Me.ListBox3.List(i))) + 2 出力列 = WorksheetFunction.Max(3, .Cells(出力行, .Columns.Count).End(xlToLeft).Column + 1) .Cells(出力行, 出力列).Resize(, objDIC.Count).Value = objDIC.keys End If Next i End With End Sub ↑は完成品のプレゼントではありません。ちゃんと研究の上必要な部分をご自身のコードに取り込んでください。 (丸写しして完成!というのはご遠慮ください) (もこな2) 2021/06/16(水) 21:55 ...
http://www.excel.studio-kazu.jp/wiki/kazuwiki/202106/20210615132933.txt - [detail] - similar
PREV NEXT
Powered by Hyper Estraier 1.4.13, with 97038 documents and 608033 words.

訪問者:カウンタValid HTML 4.01 Transitional