advanced help
per page, with , order by , clip by
Results of 1 - 1 of about 978 for チェックボックス (0.008 sec.)
[[20091027125654]]
#score: 5499
@digest: 31a12c1cd18222180cd850184aa82394
@id: 46073
@mdate: 2009-11-23T02:08:00Z
@size: 6861
@type: text/plain
#keywords: textbox11 (25320), listbox1 (17446), listindex (14316), textbox14 (13134), textbox12 (10792), checkbox1 (9254), textbox10 (8278), textbox9 (8083), ) テ (6830), トボ (6626), ロ- (5138), 白、 (4633), ボッ (4019), クス (3226), 了" (3164), テキ (3079), (空 (2908), キス (2846), クボ (2753), ン2 (2204), ドボ (2084), スト (1997), ト欄 (1823), ック (1751), isempty (1717), list (1685), 反映 (1662), commandbutton2 (1619), value (1606), 上書 (1565), コマ (1528), リス (1473)
『マクロ-リストボックス』(レインボー)
マクロ-リストボックス(sheet1のリスト)で選択した行を、 テキストボックスとチェックボックスに反映し、上書きするやり方を教えてください 初めて質問させていただきます。マクロ初心者2003_Windows2000を使用しています。 ユーザーフォームにリストボックスを作り(sheet1のリスト)、その1つを選択いたします。 コマンドボタン1を押すと、選択したデータの一部がテキストボックスに反映するようにしています。 ここまではできるのですが、 テキストボックスに選択されたデータの上書き(文字や数字(プラス、マイナス)日付を上書きもしくは、 Deleteキーで消したもの)を、sheet1のその行のリストに反映させるコマンドボタン2がうまく作動しません。 また、1つチェックボックスを入れているのですが、ユーザーフォームへの読み込み(チェックをつけり消したり)、 sheet1への反映がうまくいきません。 下記コードが長くなってしまいすみませんが、どなたかお力を貸していただきたくよろしくお願いいたします。 (リストボックスに出るsheet1のデータ) A8から題(管理番号や品名など)がはじまり、Uまであります。 (Fは、管理番号なため必ず値が入りますが、I以降Uまでは空白のセルも存在しています) 表は伸縮いたします。 (ユーザーフォーム) リストボックスには、sheet1のA9〜U9の最終行までのデータを引用しています。 コマンドボタン1を押すと、 テキストボックス9=O (空白、数字たとえば10など) テキストボックス10=P (空白、マイナスも含む数字たとえば-10など) テキストボックス11=Q (空白、日付) テキストボックス12=R (空白、数字) テキストボックス14=U (空白、コメント欄のため文字や数字など) が、リストボックスで選択した行のものが反映されます。 コマンドボタン2を押すと、 テキストボックス9=O (空白、数字たとえば10など) テキストボックス10=P (空白、マイナスも含む数字たとえば-10など) テキストボックス11=Q (空白、日付) テキストボックス12=R (空白、数字) テキストボックス14=U (空白、コメント欄のため文字や数字など) deleteキーで空白にしたり、上書きしたものを、 リストボックスで選択したsheet1のその行に上書きしたいのですが、うまくいきません。 チェックボックス1は、sheet1のS行で、リストボックスで選択された行のS行に、 終了と書かれていたら、チェックボックスのチェックがついて表示され、書かれていなかったらチェックされず表示されます。 ユーザーフォーム上でチェックをつけたりはずしたりした際、 常にその選択行に反映させるようにしたいのですが、作動しません。 (コード) Private Sub UserForm_Initialize() Dim r As Range Set r = Sheets("Sheet1").Range("A8").CurrentRegion.Offset(1) Set r = r.Resize(r.Rows.Count - 1) With ListBox1 .ColumnWidths = "0;0;0;0;0;50;50;50;0;0;0;0;0;0;0;0;0;0;0;0;0" .ColumnCount = 21 .RowSource = r.Address(A8, U) End With End Sub Private Sub CommandButton1_Click() If ListBox1.ListIndex <> -1 Then TextBox9.Value = ListBox1.List(ListBox1.ListIndex, 14) TextBox10.Value = ListBox1.List(ListBox1.ListIndex, 15) TextBox12.Value = ListBox1.List(ListBox1.ListIndex, 17) TextBox14.Value = ListBox1.List(ListBox1.ListIndex, 20) End If If Not IsEmpty(ListBox1.List(ListBox1.ListIndex, 16)) Then TextBox11.Value = Format(CDate(ListBox1.List(ListBox1.ListIndex, 16)), "m/d") Else TextBox11.Value = "" End If If ListBox1.List(ListBox1.ListIndex, 18) = "終了" Then CheckBox1.Value = True Else CheckBox1.Value = False End If End Sub Private Sub CheckBox1_Click() Dim l As Range Set l = Sheets("Sheet1").Range("A8").CurrentRegion.Offset(1) Set l = l.Resize(l.Rows.Count - 1) If CheckBox1.Value = True Then l(ListBox1.ListIndex + 1, 19).Value = "終了" Else l(ListBox1.ListIndex + 1, 19).Value = "" End If End Sub Private Sub CommandButton2_Click() If ListBox1.ListIndex <> -1 Then Dim r As Range Set r = Sheets("Sheet1").Range("A8").CurrentRegion.Offset(1) Set r = r.Resize(r.Rows.Count - 1) If IsDate(TextBox11.Value) Or TextBox11.Value = "" Then r(ListBox1.ListIndex + 1, 17) = TextBox11.Value End If r(ListBox1.ListIndex + 1, 15) = TextBox9.Value r(ListBox1.ListIndex + 1, 16) = TextBox10.Value r(ListBox1.ListIndex + 1, 18) = TextBox12.Value r(ListBox1.ListIndex + 1, 21) = TextBox14.Value End If End Sub <コマンドボタン2>と<チェックボックス1>がリストボックスで選択したSheet1のその行に反映されない点で困っています。 ながながと書きすみませんが、ご教示よろしくお願いいたします。 ---- 1) CommandButton1_Click で >If Not IsEmpty(ListBox1.List(ListBox1.ListIndex, 16)) Then IsEmpty 関数は機能していますか? 2) ListBox1.ListIndex + 1 が違っている ということですか? > Sheet1のその行に反映されない点で困っています。 どのように期待通りに反映されていないのかがわかりません。 (seiya) ---- 大分書き換えてしまいましたが、このような事であってますか? Private Sub UserForm_Initialize() Dim tbl With Sheets("Sheet1") tbl = .Range(.Range("F9"), .Range("F9").End(xlDown)).EntireRow.Columns("F:H").Value End With With Me.ListBox1 .ColumnCount = 3 .ColumnWidths = "50;50;50" .List = tbl End With End Sub Private Sub CommandButton1_Click() Dim tbl, n As Long With Sheets("Sheet1") tbl = .Range(.Range("F9"), .Range("F9").End(xlDown)).EntireRow.Columns("A:U").Value End With With Me n = .ListBox1.ListIndex + 1 If n > 0 Then .TextBox9.Value = tbl(n, 14) .TextBox10.Value = tbl(n, 15) .TextBox12.Value = tbl(n, 17) .TextBox14.Value = tbl(n, 20) If tbl(n, 16) = "" Then .TextBox11.Value = "" Else .TextBox11.Value = Format(CDate(tbl(n, 16)), "m/d") End If If tbl(n, 18) = "終了" Then .CheckBox1.Value = True Else .CheckBox1.Value = False End If End If End With End Sub Private Sub CheckBox1_Click() With Sheets("Sheet1").Range("R8").Offset(Me.ListBox1.ListIndex + 1) If Me.CheckBox1.Value = True Then .Value = "終了" Else .Value = "" End If End With End Sub Private Sub CommandButton2_Click() Dim n As Long n = Me.ListBox1.ListIndex + 1 If n > 0 Then With Sheets("Sheet1").Rows(8 + n).Columns("A:U") If IsDate(Me.TextBox11.Value) Or Me.TextBox11.Value = "" Then .Cells(17) = Me.TextBox11.Value End If .Cells(14) = Me.TextBox9.Value .Cells(15) = Me.TextBox10.Value .Cells(17) = Me.TextBox12.Value .Cells(20) = Me.TextBox14.Value End With End If End Sub (x-men) ---- x-men様 お礼がだいぶ遅くなりすみませんでした。 マクロ起動いたしました。本当にありがとうございます。 (レインボー) ...
http://www.excel.studio-kazu.jp/wiki/kazuwiki/200910/20091027125654.txt - [detail] - similar
PREV NEXT
Powered by Hyper Estraier 1.4.13, with 97038 documents and 608033 words.

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