• ベストアンサー

Excelの計算式の続き

a999a999の回答

  • a999a999
  • ベストアンサー率68% (11/16)
回答No.3

良かったら、下のものを試してみて下さい。 (長文です。すいません。) マクロです。 最初だけ少し手順が必要ですが その後はボタン一つです。ご協力下さい。 以下の手順でお願します。 「マクロの貼り付け」 「準備」 「実行」 「マクロの貼り付け」 1.新しいブックを開いて 2.Alt + F11 を押して VBE を起動して下さい。 3.ツールバーの「挿入」-「標準モジュール」 を選んで下さい。 4.出てきた白紙に下のソースを貼りつけて下さい。 5.ツールバーの「ファイル」-「終了してエクセルに戻る」 を選択してエクセルに戻って下さい。 「準備」 ツールバーの 「ツール」-「マクロ」-「マクロ」を選んで 中から「準備」を選択して、実行して下さい。 これで準備完了です。 「実行」 会員番号を入力してから、登録ボタンを押して下さい。 「登録しました。」とメッセージが表示されて 入場者数が1つ増えます。 長くなるので細かい説明は省略します。 説明が必要な場合はお手数ですが連絡下さい。 詳しい内容を教えてもらえれば ご希望に近いもの 作ります。 シートの保護などはどうされますか。 シートに直接入力よりも 専用の入力画面を用意してはどうでしょうか。 きれいに、安全にできると思います。 良かったらご相談下さい。 下を貼りつけて下さい。 Sub カウントアップ() Cells(4, 4) = Cells(5, 4).Value MsgBox Cells(5, 4).Value & "人目として登録されました。 " & Date & " " & Time End Sub Sub 準備() Sheets.Add 'グリッド ActiveWindow.DisplayGridlines = False '間隔 Columns("A:A").ColumnWidth = 8.5 Columns("B:B").ColumnWidth = 4.13 Columns("C:C").ColumnWidth = 12.13 Columns("D:D").ColumnWidth = 27 Columns("E:E").ColumnWidth = 4 Rows("6:6").RowHeight = 21 Rows("7:7").RowHeight = 14.25 Rows("8:8").RowHeight = 38.25 Rows("9:9").RowHeight = 15 '罫線 Range("C2:D5").Select Selection.Borders.LineStyle = xlContinuous Selection.BorderAround xlContinuous, xlThick Range("C8:D8").Select Selection.Borders.LineStyle = xlContinuous Selection.BorderAround xlContinuous, xlThick '書式 Range("D2").NumberFormatLocal = "ggge""年""m""月""d""日""" Range("D3").NumberFormatLocal = "AM/PM h:mm" Range("D5").NumberFormatLocal = "#,##0 ""人目""" '文字サイズ Range("C8:D8").Select Selection.Font.Name = "MS Pゴシック" Selection.Font.Size = 16 '太字 中央中央 Range("C2:D5").Select Selection.Font.Bold = True Selection.HorizontalAlignment = xlCenter Selection.VerticalAlignment = xlCenter Range("C8:D8").Select Selection.Font.Bold = True Selection.HorizontalAlignment = xlCenter Selection.VerticalAlignment = xlCenter 'グレー Range("C2:C5").Select Selection.Interior.ColorIndex = 15 Range("C8").Select Selection.Interior.ColorIndex = 15 '水色 Range("B7:E7,E8:E9,B8:B9,C9:D9").Select Selection.Interior.ColorIndex = 34 '文字 Range("C2") = "日付" Range("C3") = "現在の時刻" Range("C5") = "来場者数" Range("C8") = "会員番号" Range("D2").FormulaR1C1 = "=NOW()" Range("D3").FormulaR1C1 = "=NOW()" Range("D4") = 999999 Range("D5").FormulaR1C1 = "=+R[-1]C+1" Range("D14") = "↑上の登録ボタンを押すと" Range("D15") = "「登録されました」とメッセージが出て" Range("D16") = "来場者数が1つ増えます。" '非表示 Rows("4:4").EntireRow.Hidden = True 'ボタン作成 Range("D10:D11").Select ActiveSheet.Shapes.AddShape(msoShapeRectangle, 159.75, 158.25, 165.75, 27). _ Select Selection.ShapeRange.Fill.Visible = msoFalse Selection.ShapeRange.Shadow.Obscured = msoTrue Selection.ShapeRange.Shadow.Type = msoShadow18 Selection.ShapeRange.Line.Weight = 0.75 Selection.ShapeRange.Line.DashStyle = msoLineSolid Selection.ShapeRange.Line.Style = msoLineSingle Selection.ShapeRange.Line.Transparency = 0# Selection.ShapeRange.Line.Visible = msoTrue Selection.ShapeRange.Line.ForeColor.SchemeColor = 11 Selection.ShapeRange.Line.BackColor.RGB = RGB(255, 255, 255) Selection.ShapeRange.Fill.Visible = msoTrue Selection.ShapeRange.Fill.ForeColor.SchemeColor = 45 Selection.ShapeRange.Fill.Transparency = 0# Selection.ShapeRange.Fill.OneColorGradient msoGradientHorizontal, 2, 1# Selection.Characters.Text = "登録ボタン" With Selection.Characters(Start:=1, Length:=5).Font .Name = "MS Pゴシック" .FontStyle = "太字" .Size = 16 .ColorIndex = 7 End With Selection.HorizontalAlignment = xlCenter Selection.OnAction = "カウントアップ" Range("D8").Select End Sub

関連するQ&A

  • エクセル 計算式 

    エクセル 計算式  教えて下さい。エクセルで、計算式を入れる場合ですが、文字列を表す場合"*"で代用しますよね? 数値を表す場合はどうすれば良いのでしょう? 例:COUNT IFなどで検索条件のところに「数値が入力されているセルの数」としたいのですが。 よろしくお願いします。

  • excelの自動計算について

    Excelのセルに入力された数字を自動で変換 例えばA1セルに「8」と入力した場合、自動で×10で計算して値をA1に表示する事は可能でしょうか?A列にはある物の数をカウントした数字が入るのですが、「8」の時は×10、「3」の時には×5など、数字によって×の式を変更したいのです。別の列に数式を入れたり、別の表を作成してVLOOKUPで計算したりすれば、簡単にできると思うのですが、そのような作業は無しで、できないでしょうか?ご存知のかたおられましたら教えて下さい。宜しくお願い致します。

  • EXCEL COUNT関数で

    EXCEL COUNT関数で A列の1-10行目まで文字や数字なにかを入力したら セルA11に何行入力したかを自動計算させるようCOUNT関数を挿入しました。 例えば A1:123 A2:45-6 A3:ABC 上記は3行入力してるので3と表示させたいです。 だけどA2:45-6のように-があると計算せず2とでます。 なぜでしょうか? 宜しくお願い致します。

  • エクセルの関数?

    文字が入力されているセルの数を表示したいのですが関数があるのでしょうか? countでやっても数字が入力されてあるセルしかカウントしてくれないんで困ってます。

  • エクセルで文字列の計算をしたいのですが。

    エクセルで文字列の計算をしたいのですが。 セルの表示は文字列ですが、実際のデータは数字(だけ)が入っています。 これを計算する事は可能でしょうか?。 例えば A1セル:00001 と入っていて B1セルには、A1セル+1=00002 とさせたいのです。 よろしくお願いいたします。

  • エクセルの表計算

    エクセルの表計算のことなのですが、ある列に入力されている数字 で、同じ数字だけ引っ張り出して別のセルにその数字達の合計を集計したいのですが どうすればいいですかね 簡単なことなのでしょうが 教えてください。よろしくお願いします。  

  • エクセルのセルのカウント方法で質問です。

    エクセルのセルのカウント方法で質問です。 A列B列C列があります。 A列とB列のセル内の文字が指定した文字の時 C列のセル内に文字が入力されてる場合にカウントするにはどうすればよいでしょうか またカウントではなくC列に数字が入力されているとして合計値を出したい場合も教えてください。 例として画像を貼り付けます。

  • エクセルの計算式で

    こんにちはエクセルについて教えて下さい。 今現在N8のセルに以下の様な式を入れいています。 =IF(OR(N7="",M8=""),"",ROUND(N7*M8/1000,2)) この式ではN7とM8に数字が入ればN7×M8/1000となり例えばN7に100,M8に50が入ればN8には5が計算されて出てきます。 ただ、N7に100という数字ではなく、単価10×10のような文章を入れた時(数字以外の文字が入った時)には計算をさせたくないのですが、このようにさせることはできるのでしょうか?数字以外に入る文字が決まってはいないので、難しいかもしれませんが、できるようでしたら教えて下さい。

  • EXCEL計算式を教えてください

    「A」と「B」列のどちらか一方に、数字か文字が入力されていたら、それを「C」列にカウントするような式の作り方を教えてください。 よろしくお願いします。

  • エクセルで数字の文字列を計算させたくないのですが、うまく出来ません。良い方法はないでしょうか?

    エクセル2003で、下記のようにセルに入力したとします。    A   B   C 1  10   20 2  11  ’21 3  13   14 4 ※B2は「’」をつけて数字の文字列として認識させています。 B4のセルに、=SUM(B1:B3)とすると、うまく34となってくれますが、 C2のセルに、=A1+B2とすると、32となってしまいます。 当方としては、B2を文字と認識してほしいので、求めている答えは11です。 数字の文字列を文字列のまま処理して、計算させない方法はあるでしょうか? 皆様、ご教授願います。