• ベストアンサー

VBA 足し算

VBAの初心者です。 ・Sheet1のA2に入力された値を『+1』していくにはどうしたらいいでしょうか

質問者が選んだベストアンサー

  • ベストアンサー
  • zap35
  • ベストアンサー率44% (1383/3079)
回答No.2

質問はもう少し「何をしたい」のか明確に書くべきですよ。 曖昧な質問には曖昧な回答しか出せません。 ともあれ、Sheet1のA2セルの値を+1(インクリメント)するだけならこんなマクロでしょう。元の値が数値でない場合も想定してIsNumeric関数で数値かどうかのチェックを行っています。 Sub Macro1()  If IsNumeric(Sheets("Sheet1").Range("A2").Value) Then   Sheets("Sheet1").Range("A2").Value = Sheets("Sheet1").Range("A2").Value + 1  End If End Sub

8610mama
質問者

お礼

出来ました! ありがとうございました。

その他の回答 (1)

  • n-jun
  • ベストアンサー率33% (959/2873)
回答No.1

・足した後にどうしたいのか?(結果を表示する、変数に入れるなど) ・『+1』していくとは、繰り返すという意味ですか?

8610mama
質問者

補足

そうです。 つねに+1にしていきたいのですが・・

関連するQ&A

  • A2からA16までの足し算マクロ

    エクセルVBA初心者です。 初心者のため、うまく質問できるか分かりませんが、よろしくお願いします。 タイトルのように A2からA16に入っている値を全て足して、その値を別シートのB2セルに書き出す、というマクロを教えてほしいんです。 別シートに書き出すマクロは分かるのですが、足し算が分からないんです。 A2+A3+・・・ とやってもいいんでしょうけど、凄く大量で1つ1つ書けないんです。 まとめて、ここからここまで全部足す!みたいなマクロはないでしょうか><; 大雑把な質問ですみません・・・ アドバイスよろしくお願いします。

  • VBA セルに入力されている数値でセルを指定する

    Excel VBA初心者です。 Sheet1のA1セルに10、A2セルに3を入力しています。 この入力したセルの数値を参照して、 Sheet2の「Cells(10,3)」(C10セル)を青(Interior.ColorIndex = 5)に 書式変更したいのですが、「Cells(”Sheet1.A1の値”,”Sheet1.A2の値”)」の 書き方がわかりません。 Excel2010を使用しています。 よろしくお願いします。

  • エクセル上のVBA

    当方、VBAまるっきり初心者です(触りはじめて3日くらい)。 エクセルはある程度理解しているつもりですが… バージョンはエクセル2000です。 他シートのセルのひとつに入力すれば、 別シートのセルがそれを参照したうえで 値として表示出来るようにならないでしょうか。  今のところ、以下のような状況です。 step01 sheet1のセルA1に任意の数値(整数限定です)を入力。 step02 sheet2のセルA1に、sheet1のセルA1の数値を用いて     MOD関数で余りを出す。 step03 sheet2のセルB2に以下のVBAによって     step02の余りを値として表示。      Private Sub Worksheet_Change(ByVal Target As Range)        Range("b2").Value = Range("a1")      End Sub  これだとsheet1の数字を変えても、 sheetの切替後sheet2のセルB2に 表示される値が変わってくれません。  最初の入力(step01の入力)をおこなえば sheet2のセルB2まで値が変わってくれるような方法を 教えていただけないでしょうか。  拙い説明で申し訳ありませんが、よろしくお願いします。

  • エクセルのVBAで数値を時刻の値へ変換するには?

    VBAは初心者です。宜しくお願いします。 シート1のA1に840、B1に1730と単なる数字の値が入っております。 VBAを実行すると シート2のA1に8:40、B2に17:30と時刻の値として取り扱えるように 表示させるには、どうすればよろしのでしょうか?

  • VLOOKUP関数と同じことをVBAでおこなうには

     初めまして、当方VBAの素人です。よろしくお願いします。  同じような質問で、このようなVBAを見つけました。 Sub Macro1() For n = 2 To 5 '処理するSheet2の行数範囲 a = Sheets("Sheet2").Cells(n, 1) 'aにA列の値を代入 For m = 2 To 5 '検索するSheet1の行数範囲 If Sheets("Sheet1").Cells(m, 1) = a Then 'Sheet2のA列の値とSheet1のA列が一致した場合 v = Sheets("Sheet1").Cells(m, 2) 'vにB列の値を代入 Sheets("Sheet2").Cells(n, 2).Value = v 'Sheet2のB列に値を入力 Exit For '値が見つかったのでForを終了 End If Next Next End Sub このVBAではSheet2での検索、入力が列になるのですが、列でなく、行でできないでしょうか。できればSheet1のB列の値をSheet2の1行で検索、Sheet2の2行に入力されるだけではなく、Sheet1のC列の値をSheet3の1行で検索、Sheet3の2行に入力されるようにしたいと思います。  解る方、よろしくお願いします。

  • エクセルVBA:繰り返し処理について

    エクセルVBA初心者です。どうかご指導お願いします。 シート1に入力されたデータベースがあります。 B列には氏名が入力されています。 B2の値で絞りこんで、シート2に貼り付け、 B3の値で絞りこんで、シート3に貼り付け、 B4の値で絞り込んでシート4に貼り付けてB列の値が""(空白)になるまで繰り返すコードの書き方を教えてください。 さらに、B列には、当然同じ氏名が何回も入力されているので、前に一度出た人はパスするというようにしたいのです。 下記コードは、「B2の値で絞りこんで、シート2に貼り付け」だけをしたものですが、このコードを応用して作りたいのです。ご指導お願いします。 Sub test01()  With sheets("sheet1")Range("A1")   .AutoFilter field:=2, Criteria1:=Range("B2")   .CurrentRegion.Copy Destination:=Sheets("Sheet2").Range("A1")   .AutoFilter  End With End Sub

  • Excel-VBA rangeプロパティの使い方について

    Excel-VBA rangeプロパティの使い方について VBA初心者です。いろいろ調べたのですが、分からないので教えてください。 ThisWorkbookのSheet1のA1セルに、aというファイルのaというシートの特定のセルの値をコピーしたいです。 コピーする値のセルは、ThisWorkbookで入力した値を基に変数で記述したいです。 例えば、ThisWorkbookのSheet1のC2セルに「D1」と記載していたとして、その値を変数として設定して、最終的にaというファイルのaというシートの「D1」セルをThisWorkbookのA1セルに貼り付けるのが目的です。 この場合の、下記のhensuu = の設定方法について、ご教授願います。 hensuu = ThisWorkbook.Sheets("Sheet1").Range(“A1”)= Workbooks(a).Sheets(a).Range(hensuu)

  • エクセルVBAで、シート1の値をシート2へ移すには?

    エクセルVBAの質問です。初心者です。 ■シート1のA1に「123」と打ったら、シート2のA1に「123」と表示される。そして、A2に「456」と打ったら、シート2のA2に「456」と表示される。続いてシート1のA3の値をシート2のA3に・・・とどんどん繰り返してたくさんの値を別のシートに移せるようにしたいです。 関数で言えば、VLOOKUP と似ている機能を作りたいと思ってます。 よろしくお願いします。

  • VBAの書き方を教えてください

    EXCEL2003を使用しています。 特定のセルの値を取得して、値と同じシート名を検索して移動する事はVBAで可能でしょうか? 具体的に、sheet1のA1はVLOOKUPにて検索後の値(りんご)が表示されています。 コマンドボタンにて、A1の値(りんご)を取得して、数十枚あるシートの中からA1と同じ値(りんご)の名前のシートに移動したいのです。 いろいろ探したのですが、よく分からなかったので教えて下さい。

  • VBA 別シートの計算表

    Excelについて。 シートAに、計算表があります。 セルa1に入力した値によって、いくつかのExcel関数を利用して、 セルb1に結果を出力しています。 いつも、手入力でセルa1に値を入力して結果を求めていますが。 今度、シートBに膨大な入力するための数値があるので、VBAで自動化できないかと考えています。 今回の質問は、VBAで記述する際に、シートAの入力セルa1に、シートBの入力値を1つずつ代入していき、結果のセルb1をシートBの入力値の隣に出力していこうと考えています。 シートAのa1に入力値を代入して、すぐに結果b1の値を結果出力セルに代入していいのでしょうか? 計算表(シートA)での計算を時間をおく必要があるのでしょうか?=一旦、他のセルを選択するなど。 よろしくお願いします。 ・計算表での計算時間は、1秒未満です。 ・計算表の計算過程もVBAで書けば済む話ですが、プログラミングには疎いので、計算表をそのまま利用したいと考えています。=入力の代入だけVBAで書いていきたいと思います。 ・その他、アドバイスなどいただければ幸いです。 よろしくお願いします。 Excel2010

専門家に質問してみよう