• 締切済み

エクセルでアンケート、チェックボックスのコピー

エクセルでアンケートの集計結果を手作業で入力しようとしています。 40個の質問に対し、択一、複数選択、記述式回答など、まちまちの内容。 140人の回答を、OCRなどの環境がないので、手作業でエクセルに入力しようとしています。 そこで、チェックボックスを作り、解答者別のセルに回答を入れてゆく方法をとりたいのですが、チェックボックスの関連付けをカット&ペーストすると、コピー元のセル関連付けのままペーストされてしまいます。 これをどうにか、行番号ごとの関連付けに一発で行いたいのですが、どのようにすればよいか、わかりません。 リンクするセルの、$x$x の右端のx部分を、行番号にすべてあわせる方法を、おおしえいただけないでしょうか? よろしくお願いします。

みんなの回答

  • mitarashi
  • ベストアンサー率59% (574/965)
回答No.3

昨夜、5600個のチェックボックスを作ろうとして、20分経っても終わらず、実行を中断させると暴走したので、嫌になって寝たのは私です。下記コードは実行しないことをお勧めします。 Sub test() Dim chkBox() As Object Dim targetRange As Range, myCell As Range Dim counter As Long Const xOffset As Long = 2 Const yOffset As Long = 3 Set targetRange = Range(Cells(1, 1), Cells(140, 40)) counter = 1 For Each myCell In targetRange.Cells ReDim Preserve chkBox(1 To counter) Set chkBox(counter) = ActiveSheet.OLEObjects.Add(ClassType:="Forms.CheckBox.1", Link:=False, _ DisplayAsIcon:=False, Left:=myCell.Left + xOffset, Top:=myCell.Top + yOffset, Width:=14.25, Height:= _ 9.75) chkBox(counter).LinkedCell = chkBox(counter).TopLeftCell.Address chkBox(counter).TopLeftCell.Value = False counter = counter + 1 Next myCell End Sub かわりに、チェックボックスが置いてあるセルにリンクを設定するマクロはお役に立たないでしょうか? 'チェックボックスが置いてあるセルをリンクセルに設定 Sub test2() Dim Obj As OLEObject For Each Obj In ActiveSheet.OLEObjects If Obj.ProgId = "Forms.CheckBox.1" Then Obj.LinkedCell = Obj.TopLeftCell.Address End If Next End Sub しかしながら、多量にチェックするなら、No.1の方の提案されている、セルをチェックボックス代わりにする案に、一票。

  • nag0720
  • ベストアンサー率58% (1093/1860)
回答No.2

チェックボックスを作るのは面倒なので、別の方法を。 下記のコードは、A1:J10の範囲の中でセルをダブルクリックすると、○が付いたり消えたりします。 Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)   If Target.Row >= 1 And Target.Row <= 10 And Target.Column >= 1 And Target.Column <= 10 Then     If Target.Value = "○" Then       Target.Value = ""     Else       Target.Value = "○"     End If     Cancel = True   End If End Sub

Mtskaze
質問者

お礼

お教えいただき、ありがとうございました。 でも、どのような状態になるのか、マクロの使い方そのものがわからないので、 あきらめます。 本当にありがとうございました。

  • nag0720
  • ベストアンサー率58% (1093/1860)
回答No.1

よく分からないのですが、 シート上に40×140=5600個のチェックボックスを作るつもりなのでしょうか? もしそうならコピー&ペーストで作るのは、指摘されている通り関連付けもそのままコピーされるので大変でしょう。 コピー&ペーストではなくマクロを使って作れば、5600個のチェックボックスをいっぺんに作ることができ、位置や関連付けも同時に設定することができます。 別のやりかたとして、チェックボックスを1個だけ作って、セルを選択したときにそのチェックボックスの位置を変えてチェックしてもらうという方法もあります。 また、チェックボックスを使わない方法としては、セルのダブルクリック(または右クリック)でセル値のTRUE,FALSEを切り替えるという方法もあります。 以上、ご参考まで。

Mtskaze
質問者

お礼

nag0720様: ご回答、ありがとうございます。 マクロはまったくわからないので、もしお手すきの時間があれば、 お教えいただけると助かるのですが・・・ 甘えすぎですね。 だめでしたら、あきらめます(涙;;

関連するQ&A

  • エクセルのチェックボックスと条件付き書式のコピーについて

    エクセルのチェックボックスと条件付き書式のコピーについて エクセル2007を使用しているのですがチェックボックスと、条件付き書式を設定したセルのコピー&ペーストができません。 どのようにすればいいのでしょうか? B列D列にチェックボックスをおいて、B列の結果をE列に反映させTRUEならH4が青になり、D列の結果をF列に反映させTRUEならH4が赤になり、どちらにもチェックが入っていなければH4はそのままにするというところまでは作れたのですが、行数も50行ほどあり、反映させるセルも1つづつ違うのですが、コピーと貼り付けで簡単に行を増やしたりすることはできないのでしょうか?また、他にもシートが15ほどありますので、気が遠くなる作業になりそうです。 添付画像は1つ1つ設定していきました。 設定は下記のようにしました。 チェックボックスのコントロールの書式設定のリンクするセルは「$D4」「$E4」と設定しており、 また、H1は条件付き書式で、ルール「=$E4=TRUE」書式「青の塗りつぶし」適用先「=$H$4」              ルール「=$D4=TRUE」書式「赤の塗りつぶし」適用先「=$H$4」 としています。 初心者ですので、質問の意味などが分かりにくいかと思いますが回答よろしくお願いします。

  • エクセル チェックボックス

    エクセルで複数の特定セルのどれかにOKの文字が入力されると、 チェックボックスに自動でチェックが入るようにできますか? (A1のセルかB1のセルかC1のセルにOKが表示されると チェックボックスにチェックが自動で入る。) よろしくお願いいたします。

  • エクセルのチェックボックスについて

    エクセルのバージョンは2002です。 左側に数値の入力されているセルにチェックボックスを入れたいのですが、 いちいちチェックボックスを呼び出してコピー → Ctlr+V連打 → チェックボックスを選択して整列 という手順が大変煩雑です。 うまい具合に、選択したセルに綺麗にボックスを並べる方法はないでしょうか? (入力規則からレ点を選択するという手段もありますが、二回クリックが必要なのと、チェックボックスを 使ってみたいという理由で保留してます。)

  • エクセルのチェックボックスについて

    エクセルのチェックボックスを使って左隣のセルをリンクさせたいのですが、そのチェックボックスをドラッグしただけではリンクの対象セルが固定されてしまいます。 ドラッグと同時にリンクの対象セルも自動で変化してくれる方法をご存知有りませんか? 一つずつ入力すればできるのですが、数がかなり多いので困っています。 よろしくお願いします。

  • エクセルのフォームのチェックボックスについて

    エクセルのフォームのチェックボックスについて あるセルにフォームのチェックボックスを付け、 そのセルに、true・falseの条件設定をしました。 その設定を利用して、条件式書式の設定で、 trueの時にとなりのセルを赤にするようにしました。 以上のような行が1500行あります。 1つ1つ設定するのが困難のため、 マクロが使えるフォームのチェックボックスを使用しようと試みております。 しかし、マクロ内のVBAの記述方法が解りません。(1行だけなら解ります) ご存知の方がおられましたら教えてください。 よろしくお願いいたします。

  • エクセルのチェックボックスについて

    チェックボックスが組み込まれているセルを含む行をコピーしましたが、一行目にチェックを入れると、コピー先のチェックボックスにまで一括して、レ点が入ります。 解消方法はありますか?

  • チェックボックスのグループ化

    こんにちは。 エクセルにて所定の様式を作っております。 チェックボックスにてレ点を入力する作業が多く 一つずつチェックボックスを作り、適切なセルへ配置するという 面倒な作業をしております。 以前別の方が作ったシートを拝見したところ、 いくつかのチェックボックスがグループ化されておりました。 これは便利と思いやってみたところ、どうやるのやら全く判りませんでした。 どなたかお解りの方、アドバイスを宜しくお願い申し上げます。 あと、この作業を軽減できる方法がありましたら、お教え願いたいです。

  • エクセルでのチェックBOXの並べ替えについて

    エクセルでチェックBOXを使って表を作成しました。 列数は10列以上で行数も100行位はあります。 行ごとで並べ替えをすると チェックBoxのみずれてしまいます。 下記についてはネットで調べ設定済みです。 (1)Boxがセル内に余裕をもっておさめる (2)セルに合わせて移動する設定にする。 (3)並べ替えをする時に表全体を選択する。 3列位の表だとちゃんとチェックBoxも行に合わせて動いてくれるのですが・・・・ 列数や行数が多い場合は無理なのでしょうか? 何か裏技のようなものがあるのでしょうか? 列数が少ないと出来て多くなると出来ないというのもいまいち納得がいかないのですが・・・ 方法をご存知の方がいらっしゃったら教えてくださいm(_ _)m 宜しくお願いします。

  • Excelチェックボックスの位置

    Excelのチェックボックスって、セルの中央に固定はできないのですか。 チェック欄の横の文章が全部2行の時や3行の時があるので、上下中央ぞろえなどでは無理です。

  • エクセルのチェックボックス

    エクセルのチェックボックスを何個か並べておき、 そのうちの1つにチェックを入れたら、別のチェックボックスにはチェックが入らない様にしたいのですが、どの様にしたらよいのでしょうか。(1つしか選べない様にしたいのです) また、あるチェックボックスにチェックをしたら、自動的に 近くにあるセルに斜線が入る様にすることは、可能でしょうか。 以上、2つよろしくお願い致します。

専門家に質問してみよう