• ベストアンサー

ExcelのVBAに詳しい人に質問です

条件は以下の通りです。 ・A列に数字がランダムで入っているとします。 ・A列は数字のみです。 ・行は作業次第で増えていきます。 ・新しい行に数字を追加するときは行に空白の隙間はなし そこで、ボタン一つ押せばA列の数字全部に「+1」するようなプログラムを作りたいのですが、どうすればよろしいのでしょうか。VBAに詳しい方アドバイスよろしくお願いします。

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

  • ベストアンサー
  • sacra0517
  • ベストアンサー率100% (1/1)
回答No.1

for i=1 to range("a1").end(xldown).row Cells(i,1) =cells(i,1)+1 Next 上をVBAロジックに組み込んだらなると思います。

mzakom
質問者

お礼

ありがとうございます。綺麗にできましたm(_ _)m

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (1)

  • kybo
  • ベストアンサー率53% (349/647)
回答No.2

以下の様な感じでいいんじゃないかと。 Sub macro() Dim C As Range For Each C In Range("A:A").SpecialCells(xlCellTypeConstants, xlNumbers) C.Value = C.Value + 1 Next C End Sub

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • VBAのプログラムに関してです

    VBAに関する質問です。 いま、A列に0~4の数字が順番に繰り返し記入されていて(数字の数はランダム)、B列に適当な値が記入されています。A列の中から1を探しだして(1つ上の行の数字が0)、 その行から1つ戻ったB列の値をC列に記入、A列の次の0~4の繰り返しで同じ条件の1を探してその行から2つ戻ったB列の値をD列に記入する。といったことをA列が空白の行になるまで繰り返し行うというプログラムを教えてほしいです。お願いします。 例) A:00011112233400001123334400011111122233400000- B:12345678912345678912345678912345678912345678- となってるA列のそれぞれの0~4の塊の最初の1をさがしてそれに対応するBをそぜぞれ求めていくというものです。 この場合だと実行結果C・D列には C:379 D:688 となってほしいです。

  • エクセル2003のVBAを教えて

    エクセル2003のVBAを教えてください。 次の対象データで、(1)(2)(3)の作業が出来るエクセルVBAを教えて下さい。 (1)(2)(3)個々のVBAでお願いします。 ●対象データ:種類(A列)、文字(B列)、    データの行数:不特定なので、データのある最終行までとします。 ●教えていただきたい項目  (1):種類だけを(C列)に取り出す。  (2):種類の先頭に空白の行を3行入れて、追加の2行目の種類(A列)に文字(B列)を入れる。  (3):種類が5行以上あるときは、5行ごとに空白行を追加する。 ●対象データ 種類(A列)   文字(B列) AA       あああ BB       いいい BB       いい BB       いいい CC       うう CC       うう DD       ええええ DD       ええええ DD       ええええ DD       ええええ DD       ええええ DD       ええええ DD       ええええ ●(1)のVBAの結果(このようになるVBAを教えてください。) (C列) AA BB CC DD ●(2)、(3)のVBAの結果(このようになるVBAを教えてください。) 種類(A列)    文字(B列) あああ AA        あああ いいい BB        いいい BB        いいい BB        いいい うう CC        うう CC        うう ええええ DD        ええええ DD        ええええ DD        ええええ DD        ええええ DD        ええええ DD        ええええ DD        ええええ

  • エクセルVBAで質問です。

    エクセルVBAで質問です。 A列   B列 AAAA  1111 BBBB  2222 CCCC  3333 とあります。 上記を AAAA (空白) (空白) 1111 (空白) BBBB (空白) (空白) 2222 (空白) CCCC (空白) (空白) 3333 (空白) A列にB列を挿入し、2・3・5行目に空白のセルを入れていきたいのです。 9000行ぐらいあります。 他の列に A列、B列のものを取得していく形でも構いません。 とにかく、縦1列に並べたいです。 どなたか、ご教授お願い致します。

  • EXCEL VBAで日報作成したい

    お世話になります。 EXCEL VBAの勉強をかねて日報を作成しようと思っています。 添付図にあるような簡単な日報ですが、VBAでやりたいことは2つあります。 1.行追加 各行の隣にある「行追加」ボタンを押したらその行を下に追加したいのです。 2.カレンダー作成 「カレンダー作成」というボタンを押したらA5に入っている月を参照して、添付図のようなA列が月、B列が日、C列が曜日、D列が開始時間、E列が終了時間、F列が作業、G列に行追加ボタンが自動で該当月のカレンダーに自動作成できれば最高です。 上記1.2を実現するためのロジックについてどなたかお知恵をお借りできませんでしょうか? よろしくお願い致します。 EXCEL2013

  • EXCEL VBAについて

    こんばんは、VBA勉強中です。いろいろ調べていますが、以下のようなものを作るときに、どのように記述してよいか分からないのでご教授お願いします。 (やりたい事) Userformで、日付とランダムな数字を選択できるBOXを作成し、検索ボタンを押すと、A列にある名前が表示されるというものをつくりたいと思っています。 例えば、下の表でいうと、2日の158と検索すると、斉藤という名前され、3日の236を検索すると、鈴木が表示されるというものです。       A    B  C   D・・・ 1行目 高橋   1   .2.  3.・・・31  ←日付 2行目  鈴木  305  258 236 210 3行目 斉藤   215  158 214 よろしくお願いいたします。EXCEL2000を使用しています。

  • Excel VBA B列を検索して1行下をコピぺ

    はじめまして。 VBAを始めたばかりですが、自分ではどうにもならないので、教えていただければと思い、初めて質問致します。 A1~G1、1行目から1000行目まで各セルに数字がランダムに1つずつ入っているデーターSheet1があり、コマンドボタンを押すことによってMsgBoxに入力した数字をB列を下に検索していき、例えば、数字の8が入力されたら、B1から下にB列に8が出現したらそのセルの1つ下の行(A列~G列まで)をコピーしてSheet2に抽出したいと考えているのですが、なかなか出来ず、困っています。 イメージとして A B C D E F G H I 1 5 14 30 25 30 3 9 2 22 34 6 7 29 49 3 3 1 8 20 4 10 6 45 4 30 15 34 50 2 5 9 5 11 8 45 7 6 20 1 6 40 8 48 25 36 4 10 7 21 22 30 28 6 7 36 8 2 3 50 2 1 43 6 と、データがSheet1に仮にあって、8が入力されたなら4行目の 30 15 34 50 2 5 9 と 6行目 40 8 48 25 36 4 10、7行目 21 22 30 28 6 7 36という様に抽出されてSheet2に 上から順に貼り付けられる様にしたいので、皆様の御知恵をお貸しいただければと 思っております。かなり複雑かとは思いますが、どうか宜しくお願いいたします。 FINDやOFFSET、IF文、ループ等を使ってみましたが私のレベルでは全く話になりませんでした。 まだVBAかけだしなもので、なるべ簡単なくプログラムでお願いいたします。

  • EXCEL VBAで

    EXCEL VBAで シート1のA2~G2までの列にA,B,C,D~と題名があり、それぞれの下の行には数字が並んでます。シート2のA2~G2までの列にもA,B,C,D~と題名がありますが、ランダムに並んでます。シート1のAの行を、シート2のAの行に、BにはBへという風にコピーをさせるにはどのようにすればよいでしょうか。またシート1A~Gのどれかが欠けている場合もあります。その場合はシート1にあるもののみコピーすることとします。 わかりにくいかも知れませんか、どうかよろしくお願いします。

  • Excel VBAのプロシージャについて

    こんにちは、VBAを作成しているのですが、分からない所があるので、詳しい方からのご教授をお願いします。 A                                 AF  _______________________________________________________________________  1|        1   2    3   4   5    ・・・  31   ←日付  2|  鈴木  11   15   35   8 25  3|  斉藤   45   52   25   21   50  4|  伊藤   25   45 75   36 16   ・1行目のB1セルからAFセルまで日付が入っています。 ・2行目のA2セルからA4セルまで名前が入っており、横方向にランダムな数字が入っています。 上記の表から、日付とランダムな数字を指定し検索する事でmsgboxで氏名を返せるように作っています。(例えば3日25で検索すると、msgboxで斉藤とでるようにする)。 自分なりに作ってみたのは、まずvbaを実行すると、A1行をautofilterで日付を検索し、activecell(検索結果の日付セル)の列からランダムな数字を再度autofilterで検索するというものですが、もっと記述について他に方法があるのではないかと疑問に思っていますので、このようなプログラムを作成する場合、慣れた方ならどのように記述するのでしょうか?よろしければ教えていただければと思いますのでよろしくお願いします。 ※実際は検索boxを作成していますが、AHセルに検索したい日付、AIセルに検索したいランダムな数字を入力するものとさせて頂きます。 ※EXCEL2000を使用しています。 ※中傷するような回答は遠慮させていただきます。 よろしくお願いします。

  • エクセルVBAについて教えてください。

    エクセル2007を使ったVBAについて2つ質問です。 1つ目の質問は、5列目の右端の数字を2列目の右端に持ってくるため、 Range("B2").End(xlToRight).Next.Select ActiveCell.FormulaR1C1 = Range("A5").End(xlToRight) というVBAを組んだのですが、2列目に空白が入っている場合うまく動かないため動くように したいのですが、どのように組めばいいのかわかりません。 例    A     B     C     D     E     F     G     H     I     J     K 1  2 【数値1】  □    □     □     1     2     3     4     5  3 4 5 【数値2】   6     7     8     9     10 6 ※□は空白 上記の例の場合、5行目の右端である10を2行目の空白を除いた右端である5の隣に持っていきたいです。 2つ目の質問ですが上記例の2列目の両端(1と5)を選択してDeleteする方法がわかりません。 2つの質問についてわかる方おりましたら教えていただけると助かります。 よろしくお願いしします。

  • どのようなVBAを書けばよいでしょうか

    以下のような表があります。 (sheet1) A列    B列    続く… タイトル1 タイトル2  …     (←一行目にタイトル) 13     5          (←二行目から数字がランダムに)  18    14 44    33 36    87 22    11 14    14 27    24 21    39 32    62 35     5 44     4 12     3 (以下続く。各列が何行で終わるかもランダム) 「各列の数列の平均と分散」「列全体を含めての平均と分散」 を、新たなシートに書き出したいのです。 上の例からすると、 (sheet2) A列    B列   C列       平均   分散    (←一列目) タイトル1  ??   ??    (←二列目から結果を) タイトル2  ??   ??  … 全体     ??   ?? のような感じです。 データの量が多いので、手作業で関数を使っていては、莫大な時間を要してしまいます。 どのようなVBAを書けばいいのでしょうか。 分かる方、よろしくお願いします。

専門家に質問してみよう