[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『同じ作業を繰り返すしかない?』(じぇね)
コントロールツールのチェックボックスを使って、
チェックを入れた行は計算する、そうでない行は計算しない
というシートを作りたいと思っています。
VBAが良く分からないので関数を使ってやってみました。
1列目にチェックボックス貼り付け
2列目はチェックボックスとリンクさせるセル
3列目に商品名入力
4列目に商品単価入力
5列目に個数入力
6列目に小計表示(2列目が真の場合計算結果表示、偽の場合0を表示)
と、やりたいことは一応できたのですが・・・
チェックボックスをセルとリンクさせる作業がとても面倒です^^;
セルに名前をつけてチェックボックスのプロパティでリンクさせるという処理を
1行ごとに繰り返さなくてはなりません。
通常の書式のようにコピー&ペーストで処理できないのでしょうか?
そうでなくとも、簡単に処理する方法があれば知りたいです。
何個くらいチェックボックスを使うのでしょうか? Sheetとコントロールツールボックスは相性があまりよくないので、 多用するなら別の方法を考えた方がよいです。 (INA)
やはり相性悪いんですか^^;
諦めるしかないんでしょうか?(じぇね)
まあ不具合がでる恐れがあることをふまえて使用するなら良いと思います。 ファイルサイズが大きくなるのが欠点ではありますが。
>セルに名前をつけてチェックボックスのプロパティでリンクさせるという 名前を付ける必要はないですよ。セル番地だけで。
フォームのチェックボックスならマクロでできます。
Dim i As Long Dim c As Object i = 1 For Each c In Worksheets("Sheet1").CheckBoxes c.LinkedCell = Cells(i, 1).Address(0, 0) i = i + 1 Next c
(INA)
私はそんなこと書いていません。 でも >「それくらい自分で勉強しろ」と言わずに 勉強する気がないなら回答しません。ここは「学校」ですから。
あなたのレベルがどのくらいかも分からないのに、 掲示板で一から教えさせるようなことを、 ボランティアの回答者に強いるのは如何なものかと思います。 (INA)
INAさんINAさん、落ち着いてください。 「強いる」だなんて、スレ主さんも「そんなこと書いていません」でしょう? 「書いてくださる方がいるととありがたい」としか。
過去ログもずいぶん読みましたし INAさんの「マクロ制作まるなげ依頼」に対しての疑念等、理解しているつもりですし 私も「〜〜したいのですが」で終わってしまう 質問ともいえないような質問文に「すれば?」と返したくなる年寄りですが そういう時は「私はパスさせていただきます」だけで良いのではないかと。 それが繰り返されれば、スレ主さんも自分の実力範囲の中で諦めるなり 自分の表現がまずかったのかなと反省するなりなさるでしょう。 それで十分ではないのでしょうか? (る〜)
よくある質問のVBA体験winの手順を参考にVBA作成してみました。
sub マクロ名()
(INAさんが書いてくださった内容)
end sub
というマクロを作り、セルA1で実行してみました。
しかし何も起こりません・・・
何か間違ったことをしているのでしょうか?
ちなみに、チェックボックスはまだ貼り付けていません。
貼り付けてからの作業になるのでしょうか・・・?(じぇね)
>チェックボックスはまだ貼り付けていません。 >貼り付けてからの作業になるのでしょうか・・・? そうです。 対象がなければ処理できませんので。
コントロールツールボックスにするのか フォームにするのか、どちらを採用したのか不明ですが・・・
1.フォームのチェックボックスを使う。 →前に載せたマクロで設定可能
2.コントロールツールボックスを使う →ループ処理できないので冗長になりますが・・・
Sub Sample() With Worksheets("Sheet1") .CheckBox1.LinkedCell = "B1" .CheckBox2.LinkedCell = "B2" .CheckBox2.LinkedCell = "B3" .CheckBox2.LinkedCell = "B4" .CheckBox2.LinkedCell = "B5" '以下同じように書く ' : End With End Sub
ps.る〜さん ごめんなさい。 (INA)
どうもありがとうございました。
エクセルはまだまだ奥が深いですね〜。
これからも壁に行き当たったらこのサイトを利用させてもらうつもりです。
その時はぜひまたよろしくお願いします^^
P・S 文字が小さくなりませんw (じぇね)
ありゃ、衝突しました。以下衝突前の文章です。 記録してちょっと、作ってみました。 シートの見出しを右くりっく→コードを表示させてそこに貼り付けます。。。 A列でダブルクリックしてみてください。。。 Option Explicit Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean) If Target.Column <> 1 Then Exit Sub Cancel = True With Target With Me.CheckBoxes.Add(.Left, .Top, .Width, .Height) .Characters.Text = "" .Value = xlOff .LinkedCell = Target.Offset(, 1).Address .Display3DShading = False End With End With End Sub ちなみに >P・S 文字が小さくなりませんw (じぇね) は、半角のスペースを空けるといいですよ。 (SoulMan)
できました。すごい!ありがとうございます^^ このマクロ、少しいじればA列以外にも同じように指定できるんでしょうか? そして、同一行に複数列指定するようなことも可能なのでしょうか? よろしければ教えてください。
今後はコードの意味まで理解できるようにがんばります^^;;
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.