advanced help
per page, with , order by , clip by
Results of 1 - 1 of about 978 for チェックボックス (0.008 sec.)
[[20090604214009]]
#score: 5499
@digest: 0526b8059380065a7f65fc9cb1927c04
@id: 43788
@mdate: 2009-06-07T16:29:02Z
@size: 6269
@type: text/plain
#keywords: caformula (43608), sctrng (26361), mkrng (25390), lnkrng (25238), retcode (21532), 式形 (14782), 力ダ (14119), 20080821125615 (11543), クボ (9362), crng (8060), 済" (6107), たチ (3057), typename (3007), 接セ (2982), チェ (2924), result (2659), ェッ (2648), ボッ (2530), 目名 (2445), クス (2031), caption (2027), ル範 (2014), ック (1994), ク1 (1840), ichinose (1652), optional (1551), variant (1167), ク先 (1148), evaluate (1093), アロ (1049), ダイ (997), 作成 (946)
『VBAで自動作成したチェックボックスの横の文字を変えるには』(こけもも)
[[20080821125615]]でチェックボックスを作成するセルの範囲と対応するリンク先の セルの範囲を設定をすると自動的にリンク先を指定したチェックボックスを作るVBA コードが出ていたので、使ってみましたが、作成したチェックボックスの横に "チェック1"、"チェック2"というように文字が出てきます。 (たくさんチェックボックスを作ったので、実際は"チェック737"というように出ます) 上記の方法でチェックボックスを作成した時に自動的に出てくる"チェック1"というような 文字を"済"という字で出てくるようにするにはどうすればよいのでしょうか。 どうぞよろしくお願いいたします。 ---- こんにちは。かみちゃん です。 > VBA コードが出ていたので、使ってみました どのコードを使っておられるのかわかりませんが、 [[20080821125615]] でichinoseさんが紹介されているコードであれば、 With mkrng.Parent.CheckBoxes.Add(crng.Left, _ crng.Top, _ crng.Width, _ crng.Height) の次の行に .Characters.Text = "済" を記述すればできると思います。 (かみちゃん) 2009-06-06 1:32 ---- こけももさんがVBAなんか殆ど興味はないので、抱えている問題(多数のチェックボックスに 同じCaptionを付けたい)が解決できればよい と言うことであれば、かみちゃんさんの 方法で解決してください(これは、嫌味ではないですよ、価値観の問題です。私もちょっと前に 虫にはそれほど興味はないですが、虫の掲示板である虫のことだけが知りたくて投稿しました。 ヨコヅナサシガメ って言う虫)。 でも、VBA(プログラミング)の上達のために本気で取り組んでおられるのなら・・・、 .Characters.Text = "済" という変更では、他のCaptionを指定したい場合は、また、コードを変更しなければなりません。 どこかでも書きましたが、 プログラムを変更するのは、仕様の変更時であって、データの変更時ではありません。 こんなコードにしてみました。 標準モジュールに '================================================================================== Sub main() Dim mkrng As Range Dim lnkrng As Range Dim crng As Range Dim mcell() As Variant Dim g0 As Long Dim caformula As Variant Dim ans As Variant Dim g1 As Long Dim ele As Variant Dim result() As Variant Set mkrng = get_sctrng("チェックボックスを作成するセル範囲を選択してください") If Not mkrng Is Nothing Then Set lnkrng = get_sctrng("対応するリンクセル範囲を選択してください") If Not lnkrng Is Nothing Then caformula = Application.InputBox("項目名を数式形式で指定して下さい") If TypeName(caformula) <> "Boolean" Then ans = Application.Evaluate("=" & caformula) If TypeName(ans) = "Variant()" Then g1 = 1 For Each ele In ans ReDim Preserve result(1 To g1) result(g1) = ele g1 = g1 + 1 Next End If End If g1 = 1 g0 = 1 For Each crng In mkrng With mkrng.Parent.CheckBoxes.Add(crng.Left, _ crng.Top, _ crng.Width, _ crng.Height) .LinkedCell = lnkrng.Cells(g0).Address(, , , True) If TypeName(caformula) <> "Boolean" Then If TypeName(ans) = "Variant()" Then .Caption = result(g1) g1 = g1 + 1 Else .Caption = Application.Evaluate(caformula) End If End If If g0 < lnkrng.Count Then g0 = g0 + 1 End With Next End If End If End Sub '================================================================================== Function get_sctrng(Optional mes As String, Optional mxact As Long = 1) As Range Dim rng As Range Dim retcode As Long On Error Resume Next retcode = 1 Set get_sctrng = Nothing Do Until retcode = 0 Set rng = Application.InputBox(mes, , , , , , , 8) If Err.Number = 0 Then If rng.Areas.Count <= mxact Then Set get_sctrng = rng retcode = 0 End If Else retcode = 0 End If Loop On Error GoTo 0 End Function 使用方法 新規ブックにて試してください。 mainを実行してください。 「チェックボックスを作成するセル範囲を選択してください」という入力ダイアログが表示されます。 仮に A1:A3を指定して下さい(直接セルを選択することも可能です)。 チェックボックスを作成するセル範囲の選択が完了したら、OKボタンを押してください。 次に「対応するリンクセル範囲を選択してください」という入力ダイアログが表示されます。 今度は、B1:B3を指定して下さい(直接セルを選択することも可能です)。 チェックボックスにリンクするセル範囲の選択が完了したら、OKボタンを押してください。 次に「項目名を数式形式で指定して下さい」という入力ダイアログが表示されます。 全てのチェックボックスの項目名を 済 にしたいなら "済" 両端の「"」も含めて指定する とセルに数式を入力する場合と同じ形式で指定して下さい。 これでOKボタンをクリックすると、済と言う項目名の付いたチェックボックスが3つ作成されます。 同じようにmainを実行して、 チェックボックスを作成するセル範囲として、 A10:A13、 対応するリンクセル範囲として、 b10:b13, 項目名を数式形式で指定して下さい では、 "未"&row(A10:A13)-9 なんて指定すると、それぞれ 未1 未2 未3 未4 と言う項目名を持つ4つのチェックボックスが作成されます。 試してみてください。 ichinose@ちょっと訂正 ---- かみちゃんさん、希望通りできました! どうもありがとうございます。 ichinoseさん、どうもありがとうございます。 仕事で使用している表にチェックボックスを作成しているのですが、 毎月数十行追加していくのに、これまでは前に作成したチェックボックスを コピーし、それに対応するリンク先を右クリックで一つずつ変更していたので、 とても時間がかかっていました。 なので、今はichinoseさんのプログラムのおかげで大変助かっています。 当面はかみちゃんさんの方法で大丈夫なのですが、これだと別の表でもいろいろと 応用できます。ありがとうございます。 VBA頑張って勉強します! (こけもも) ...
http://www.excel.studio-kazu.jp/wiki/kazuwiki/200906/20090604214009.txt - [detail] - similar
PREV NEXT
Powered by Hyper Estraier 1.4.13, with 97012 documents and 608132 words.

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