最大35,000円進呈!IPoEはOCN光

EXCELで1つのセルがクリックされた回数をカウントする方法を教えて下さい。
エクセルファイルにネットで一度検索した内容を記録しています。
検索したキーワードを記録し、検索結果のウェブ頁のURLをハイパーリンクで関連付けしたものです。
記録された内容が増えると同時に、記録された内容を何度も繰り返しクリックすることが頻繁になり、ランキングをしてみたくなりました。
そのため、同じセルがクリックされた回数を自動的にカウントする方法がエクセル関数に無いか調べましたが、解りませんでした。
エクセルの関数では無理なのでしょうか?
どなたか解る方のご教示を頂きたく。よろしくお願い致します。

このQ&Aに関連する最新のQ&A

A 回答 (2件)

>1つのセルがクリックされた回数をカウントする方法



そういう関数はありません。またそういうことができる方法もありません。



しかし,ご相談の様子で「ハイパーリンクでジャンプした回数を記録」する事なら,次のようにすることで出来ます。

出来る事:
ハイパーリンクが埋めてあるセル(仮にB2:B10)の右隣のセル(C2:C10)に,それぞれのハイパーリンクを踏んだ回数を記録する

手順:
ハイパーリンクが埋めてあるシートのシート名タブで右クリックしてコードの表示を選ぶ
現れたシートに下記をコピー貼り付ける

private sub worksheet_followhyperlink(byval Target as hyperlink)
target.range.offset(0, 1) = target.range.offset(0, 1) + 1
end sub

ブックを保存し,閉じる
必要に応じてマクロを有効にしてエクセルを再起動し(ご利用のエクセルのバージョンに応じた操作手順で:判らなければご利用のエクセルのバージョンを明記して別途ご相談を投稿し,解決してから実施してください),ブックを開いてハイパーリンクを踏んでみる

この回答への補足

早々にご回答を戴き、ありがとうございました。
昨夜、確認しようとチャレンジしたのですが、ハイパーリンクの右隣セルが変化せず
行き詰まってしまいました。
当方はVBA初心者のため、マクロが有効になってなかったのに気付き、今朝方再度確認したら、
無事、思い通りの結果を確認することができました。
大変助かりました!。お礼を申し上げます。
因みに、当該ファイルは10シート以上あるので、全シートに同様のことをすれば良いのでしょうが、
他に良い方法がありませんか?
お手数を掛けて申し訳ございませんが、よろしくお願い致します。

補足日時:2011/10/27 09:54
    • good
    • 3

良くない方法と思われたと言うことで,なんだか残念です。




>全シートに同様のことをすれば良いのでしょうが、
>他に良い方法がありませんか?

マクロに慣れていないという事ですので,実現できた方法で必要なシートに同じ手順を行うのが,今はもっとも良い方法と思います。



参考:
回答した方法より一層複雑なマクロになるため,良い方法とは思いませんので詳細は割愛しますが,workbook_sheetfollowhyperlinkイベントを利用する方法もあります。
ネットを検索してみると関連情報を多数ヒットしますので,興味があるようでしたらチャレンジしてみてください。またこれを機に,マクロについても少し勉強なさってみてください。
こちらに関する追加ご質問は無しでお願いします。
    • good
    • 0
この回答へのお礼

ご回答を、ありがとうございました。
回答内容は正に思い通りの結果となり、ベスト・アンサーでした。
「ベスト・アンサー」でお礼をしてしまうと、次の質問の答えが頂けないと思いました。
ですが、私の心得違いと思い次の質問は別件で扱えば良かったと思っています。
この際に、VBAのこと勉強します。
ご対応を頂き、どうもありがとうございました。

お礼日時:2011/10/28 12:59

このQ&Aに関連する人気のQ&A

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

QExcelのマクロでボタンを押すと数が1足されるようにするには?

とあるイベントで
来客者の人数を調べたいと思いました。
紙に正の字を書いていってもいいのですが
折角なので、後のグラフをつくったりする作業がやりやすいように
PCで処理しようと思いました。
しかし、いちいち数をけして打ちなおしていくのは
あまりにも面倒です・・・
街灯の人数調査(?)の人がもってる
カウントできる機械のようなものも持っていませんし・・・

例えばマクロを使用し
ボタンを押すとセル内の数が1足されるように
設定したいのですがどうすればよいでしょう?
もしくは、そういったことは可能でしょうか。

ワンクリック(もしくはそれに準ずる簡単さ)で
カウントがとれればマクロでなくても構わないです。
Excelあまりいじったことがないので
教えていただければ幸いです。

また、マクロでそういったことができないのであれば
Excel以外でもカウントをとることができるものがあれば
合わせて教えていただけると嬉しいです。
よろしくおねがいします。

Aベストアンサー

Range("A1") = Range("A1") + 1

と書いたマクロを適当なボタンに登録して下さい。
A1に初期値を記入しておけば、ボタンをクリックする毎に1ずつ加算されます。

QExcelのカウントアップボタンについて

エクセルで統計を取ろうと思い、クリックすると数字が増えるカウントアップボタンをD~K列それぞれ50セル、合計400セルに取り付けようと思うのですが、

自分の調べた方法ですととても面倒な作業になってしまうので、
もし簡略化できる方がいらっしゃいましたら教えて頂けませんでしょうか。

自分の調べた方法

Sub ボタンD4_Click()
Range("D4") = Range("D4") + 1
End Sub

上記のようなマクロを400個作り、それぞれのボタンに当てはめていく。

ボタンはそれぞれ数値の増やしたいセル上に配置しています。

オートフィルで簡単に増やせれば理想です。宜しくお願いします。

Aベストアンサー

こんばんは。

Application.Caller と TopLeftCell を組み合わせれば、プロシージャは
ひとつで済みそうですよ。

簡単なサンプルです。

ボタンは、カウントアップするセル内に配置し、その他のセルにまたがら
ないようにします。あとは、マクロの割り当てをし、フィルでコピー。

' // 標準モジュール
Sub CountUp()

  Dim r As Range
  
  On Error Resume Next
  Set r = ActiveSheet.Shapes(Application.Caller).TopLeftCell
  On Error GoTo 0
  
  If Not r Is Nothing Then
    r.Value = r.Value + 1
  End If
  
  Set r = Nothing

End Sub

Qエクセルで回数をカウントするマクロ

いつもありがとうございます。
ボタンを押すごとに回数をカウントするマクロをつくりたいのです。ためしに、

Sub testcount()
Dim a As Integer
a = Cells(1, 1).Value
a = a + 1
Cells(1, 1) = a
MsgBox a
End Sub

とやってみて何とかできましたが、できればワークシートに数値を入れずに出来る方法はないのでしょうか?
贅沢いってすみません。

Aベストアンサー

方法(1) カウンタをグローバル変数にして、Excel起動時に、カンタに0をセットして、カンタの加算は、グローバル変数にて実施する。

方法(2) カウンタ用のデータファイルを作成する。

方法(3) レジストリにカウンタ変数を用意する。

こんな感じでいかがでしょうか?

Qエクセル フォームボタンクリックで回数をカウントするマクロ

こんにちは。
毎日の作業をエクセルで集計をしたいのですが、ワークシート上のセルの値を一回づつ変えないでボタンクリックでカウントアップできるマクロを教えて下さい。
HPで検索したりしましたが(http://www.moka-tcg.ed.jp/yuuai/oshirase/excel/excel_countup.htm)(http://okwave.jp/qa552851.html)等、どれも私の思ったようにできませんでした。ワークシート上での作成したすべてのセルで、選択→クリック、選択→クリックとしていくだけでカウントアップできたらなあと考えております。
宜しくお願いします。

Aベストアンサー

いまひとつお書きの疑問点を掴み切れていないのですが、ひとつのセルにカーソルをセット→ボタンクリック→セルの値が1増加→別のセルにカーソルをセット→ボタンクリック→セルの値が1増加→(以下繰り返し)ということでしょうか?

そうであれば、標準モジュールに、
Sub ボタン1_Click()
ActiveCell.Value = ActiveCell.Value + 1
End Sub
などとすればいいかと思いますヨ。

Qエクセルでファイルを表示した回数をカウントしたいのですが・・・

いつもお世話になっております。

エクセルA41枚のファイルで、
ダブルクリックしてファイルを開けた回数をカウントし、
表示する方法を教えてください。

Accessでないとできない・・・という事をおっしゃる方もいるので、
Accessの方がベストでしたら、その方法もご教授ください。

よろしくお願いいたします。

Aベストアンサー

マクロが必要になります。以下のマクロはエクセルのブックを開いた回数を「ファイル」→「プロパティ」→「ユーザー設定」の「オープン回数」に記録させるマクロです。(OFFICE2003で確認済み。2000以前ではテストしていません)

マクロはALT+F11でVBE画面を開き、「VBAProjectエクスプローラのThisWorkBook右クリック→「コードの表示」で表示される画面にペーストして下さい。再度ALT+F11でVBE画面を閉じて、ブック保存後、一旦ブックを閉じて再度開いてみて下さい。するとファイル」→「プロパティ」→「ユーザー設定」にオープン回数がカウントアップされます。

Private Sub Workbook_Open()
Dim cnt
On Error GoTo end0
With ThisWorkbook
 cnt = .CustomDocumentProperties("オープン回数").Value
 .CustomDocumentProperties("オープン回数").Value = cnt + 1
 .Save
 Exit Sub
end0:
 .CustomDocumentProperties.Add Name:="オープン回数", _
   LinkToContent:=False, _
   Type:=msoPropertyTypeNumber, _
   Value:=1
 .Save
End With
End Sub

ただしマクロを使用しますので、ブックオープン時に「マクロを使用可能にしますか」というメッセージが表示されます。またバージョンによってこの方法は使えないかもしれません。その場合は適当なセルにオープン回数を書き込む方法を説明します。

やってみて分からない場合は、OFFECEのバージョンと具体的に何をやったら、結果がどのようになったかを必ず補足してください。ただ「分からない」では補足回答のしようがありませんから…

マクロが必要になります。以下のマクロはエクセルのブックを開いた回数を「ファイル」→「プロパティ」→「ユーザー設定」の「オープン回数」に記録させるマクロです。(OFFICE2003で確認済み。2000以前ではテストしていません)

マクロはALT+F11でVBE画面を開き、「VBAProjectエクスプローラのThisWorkBook右クリック→「コードの表示」で表示される画面にペーストして下さい。再度ALT+F11でVBE画面を閉じて、ブック保存後、一旦ブックを閉じて再度開いてみて下さい。するとファイル」→「プロパティ」→「ユーザ...続きを読む

QVB2010 クリック数カウント

アンケート結果の集計のために、コマンドボタンをクリックするたび、ラベルのところにクリック数が表示されるプログラムを作ろうと思ってます
VB2010ですが、下記のコードでは、クリックしたら「1」とだけしか表示されませんでした
どうすれば、クリックの度、数が増えるのでしょうか?


Private Sub Button1_Click() Handles Button1.Click
Dim a As integer
a = a + 1
Label1.Text = a
End Sub

Aベストアンサー

Dim a As integerがPrivate Sub Button1_Click()の中にいるからです。
ボタンが押される度にDim a As integerで値が初期化されるので
何回押してもa = 0 + 1が実行されて1しか出ないワケです。
aという変数を外だしにしてあげれば実現すると思いますよ。

Qエクセルにカウンターを設置したい

当方、パソコン初心者です。

社内でアクセスを使用して、簡易的な社内HP?みたいのを利用しております。メインページはアクセスで、その中に部署ごとのボタンがあり(4部署、4ボタン)、そのボタンを押下すると各部署のエクセルに飛ぶ仕組みになっています。

そこで皆様に質問したいのは、そのエクセルを開いた際の閲覧回数(カウンター)を設置したいのです。

このサイトの過去ログも確認しましたが、いまいちどころか、全く意味がわかりません。こんなパソコン初心者でも解るように、お教えいただければ幸いです。
よろしくお願い致します。

Aベストアンサー

>そのエクセルを開いた際の閲覧回数
マクロの力を借りることになります。
新しいブックで動作を確認してください。
Altキー+F11キーを同時に押します、VBエディターが起動します。
左側にシート名が表示されていて、その下に ThisWorkBookがありますので
クリックします。
以下をコピィして貼り付けて閉じてください。
Private Sub Workbook_Open()
Range("A1").Value = Range("A1").Value + 1
End Sub

適当な名前で保存して、開く、保存して開くをやってみてください。

Q回数のカウント

コマンドボタンを押すたびに何回押したか分かるような
プログラミングを教えて頂きたいのですが。
よろしくお願いします。

Aベストアンサー

こんにちは。maruru01です。

横から失礼しますが。

>私の案では出てこない発想をお持ちの方はたくさんいるはず

でしたら、その案(コード)を書かれてはいかがですか。
(もちろん間違っていても、一向に構いません。)
そうすれば、そのコードに対する指摘という形で回答し易いですし、siamzouさんの勉強にもなると思います。
また、siamzouさんと同じ案の人が回答する無駄はなくなりますし。

あと、余計なことかも知れませんが、プログラミングの質問というのは、単に正解を知るだけではなく、その正解にいたる道筋や考え方、基本的なコーディングなどを学び、それを今後に生かすことが大切で、その方が質問者のためになる、という回答者もいます。
そういう人たちは、あえて具体的なコードを書かずにヒントで留めているのです。
そういう回答者の気持ちを、少しでもいいから理解してあげて下さい。

あと、質問内容やコードなどからある程度質問者のレベルはわかるので、レベルに合わせた回答をしてくれる回答者も多いです。
かえって、「初心者です。」と自分から言うのは敬遠されることが多いと思いますよ。

質問の回答ですが、テキストボックスのChangeイベントだと、1文字削除したり、付け加えただけで起こってしまうので、LostFocusやExitイベントがいいと思います。
テキストボックスの内容を保存する変数を用意しておき、これらのイベントで新しい内容を変数に格納します。
この時、格納前に元の変数の内容と比較して、異なっていたら、カウンタをリセットします。
カウンタ部分のプログラミングが分かったのなら、きっとご自分で出来ると思いますよ。

こんにちは。maruru01です。

横から失礼しますが。

>私の案では出てこない発想をお持ちの方はたくさんいるはず

でしたら、その案(コード)を書かれてはいかがですか。
(もちろん間違っていても、一向に構いません。)
そうすれば、そのコードに対する指摘という形で回答し易いですし、siamzouさんの勉強にもなると思います。
また、siamzouさんと同じ案の人が回答する無駄はなくなりますし。

あと、余計なことかも知れませんが、プログラミングの質問というのは、単に正解を知るだけではなく、...続きを読む

QExcelで文字の点滅方法

Excelでセル内の文字を点滅する方法を教えてください。
ヘルプや書籍で検索したのですが分かりませんでした。
できましたら、マクロを使わずにしたいのですが、無ければマクロでも可です。 宜しくお願いします。 使用しているVersionは"2000"です。

Aベストアンサー

Option Explicit

Private Sub Worksheet_Activate()
Const imax As Long = 5
Const tmax As Long = 10000000
Dim i As Long
Dim t As Long

For i = 0 To imax
Range("A1").Font.ColorIndex = 2

DoEvents

For t = 0 To tmax
Next t

Range("A1").Font.ColorIndex = 0

DoEvents

For t = 0 To tmax
Next t

Next i

End Sub

QEXCEL(VBA) セルをクリックしたときの処理

何度もお世話になります。

A5:A20のどれかをクリックしたときに
クリックしたセルが値が入力済みか確認してから
ファイルを名前を付けて保存したいのですが
クリックしたという情報(イベント?)の取得方法が
わかりません。

(1)どのようにチェックすればよいのでしょうか?
(2)また、皆さんはどのようにしてこのような問題を解決してるのでしょうか?

よろしくお願いします。

Aベストアンサー

Sheet1だとして、
Sheet1のマクロで

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
'
If Target.Column = 1 And Target.Row >= 5 And Target.Row <= 20 Then
If Target.Value <> "" Then MsgBox "入力済み"
End If
'
End Sub

と入れると、クリックしたセルがA5からA20のどれかで
かつセルに値が入っているときのみ”入力済み”とメッセージが表示されます。
このメッセージ表示の部分を、「名前を付けて保存」の処理に置き換えてはいかがでしょうか。


このQ&Aを見た人がよく見るQ&A

人気Q&Aランキング