• ベストアンサー

マクロのつくり方がわかりません。

nishi6の回答

  • nishi6
  • ベストアンサー率67% (869/1280)
回答No.1

質問の意味を理解していればいいのですが・・・・ 各ブロックの先頭の文字は2つを見る限り「abc」ですが、「abc」と一致したら貼り付ける意味でしょうか? 下記マクロは「abc」に限らず、ブロックの先頭文字を最終行に貼り付けます。 意味が違っていたら補足して下さい。 標準モジュールを追加して貼り付けます。 Public Sub AtaiHarituke() Dim rg As Range 'セル Dim rw As Long '行カウンタ Dim Atai As String '貼り付ける値 Set rg = Range("A1") '基準位置 With rg Atai = .Offset(rw, 0) While Atai <> "" 'なくなるまで続ける rw = rw + 1 While Not (.Offset(rw + 1, 0) = "" And .Offset(rw + 2, 0) = "") rw = rw + 2 'ブロックの最終行でなければ次へ Wend .Offset(rw + 1, 0) = Atai '値を貼り付け rw = rw + 3 '次のブロック Atai = .Offset(rw, 0) Wend End With End Sub

tsufu
質問者

お礼

いつも、ありがとうございます。 設定では先頭の文字のコピーにしましたが、 その一行下の場合はどうでしょうか? また、データの持ち方が一行になく行列に 持っていますので苦労しています。 また質問したときはよろしくお願い致します。

関連するQ&A

  • 【Excel2003】コピーするマクロ

    【Excel2003】コピーするマクロ Excelファイルで以下のようなデータがあります。   A       B 1 佐藤雄一 2 男 3 (空白行) 4 山本優子 5 女 6 (空白行) 7 ・・・ 8 ・・・ 9 (空白行) 上記のようなデータを下記のように変更したいです。 マクロ等を使用し、楽に修正するやり方を教えて下さい。 マクロを使用しなくても楽に修正する方法があればそれでも良いです。 分量が膨大なのでよろしくお願いします。   A       B 1 佐藤雄一  男 2 山本優子  女 3 ・・・     ・・・

  • 空白を埋めるマクロについて

    マクロで教えて下さい! A B C D    ...... 数量 名前 種類 購入者  .... 1  2  あ  A 2    く 3 5 DD 4          まま 5    さ 6          ぱぱ と右は何十項目・下は何千行と項目が続くデータがあります。 この空白に上の文字をコピーし埋めて行くマクロを作成するにはどうしたら良いでしょうか? ただし以下の条件があります。 (1)D列の様に1行目が空白のセルは4行目の様に文字が入っている所までは空白のまま (2)A列はそのファイルにより何行目までデータが入っているかは不明 A B C D     数量 名前 種類 購入者   1  2  あ  A       2  2  く A 3 5 く DD 4  5  く DD   まま 5  5  さ DD まま 6  5  さ DD   ぱぱ 宜しくお願い致します。

  • エクセルのマクロについての質問お願いいたします。

    エクセルのマクロについての質問お願いいたします。 コピーについてお願いいたします。 A列に文字(文章)が1行目から150行ぐらいや2000行ぐらいなど文字があります。この行の間には空白の行もあります。 Range("A1:A2000").Copyこちらですと最終行の以下の空白行もコピーするので困っております。 例えば、文字が1000行までで終わっていたら、1000行までコピーする方法をどうぞご教授ください。

  • エクセルでマクロの作成

    a列の1行目が『No』の項目名以下の行が空欄になっています。 b列に『あ』があれば同じ行のa列を空白にして、次のb行が空欄であれば同じ行のa列に1の数字を、b列の空白行に対しa列には連続番号が入るようにしたいのですが、マクロがどうしてもうまくできません。 どなたか、初心者向けに解りやすい解説と実際のマクロを教えていただけませんか? 初心者でうまく説明できてないかもしれませんがよろしくお願いします。

  • マクロで行を削除するには?

    Windows NTでExcel 2000を使っています。 あるデータベースがあって、ある条件で空白の行を3行挿入して区切りを入れ、 その2行目にデータの合計を出した表に対して行う作業なのですが この挿入した行を全て消して元の表に戻したいという場合には どうしたらよいのでしょうか。 私の思いつきですが、範囲指定した後に 「もしA1が空白の時にはその行全体を削除する。もしA2が…(以下同文)」 というマクロが書ければ可能なことだと思います。 ちなみに「データベースのコピーで合計作業をすれば」というのは こちらの都合上、無理と判断しているので これ以外でよい方法があれば教えてください。 よろしくお願いします。

  • エクセルのマクロ(行を挿入し連番を振る)

    ボタンを押すと以下のことを実行するマクロを作成することはできますか? A列2行目から 書類a 書類b 書類c 書類d 書類e C列2行目から 5 3 2 4 3 と入っています。C列は各書類の枚数です。 ボタンを押すと書類aと書類bの間に4行空白行が挿入され、A列とC列は増やした4行にそれぞれ書類a、5がコピーされ、B列には2列目から6列目まで1.2.3.4.5と連番が振られる。 というマクロです。 B列C列で1/5 2/5 3/5 4/5 5/5 であるという表現がしたいのです。(/は入りません) 書類が1枚の場合はB列C列共に空白で1/1とは入りません。 C列に入る書類の枚数により行が挿入されその書類の枚数分の連番が振られるようなマクロが作りたいです。 毎日何百行も手作業で挿入しコピーし連番を振る作業をしています。 決まった行数を増やすとか上の行をコピーするマクロならわかるのですが、C列の値を見て挿入する行数を判断するようなマクロができるのかわかりません。 どなたか教えて頂けないでしょうか。

  • ”アクティブセル行」の一行下を選択”するマクロ

    ■ ”アクティブセルの、1個下の行を選択し、新しい空白行を一行挿入” ■次にその”アクティブセルのA列とB列の値を、  新しく作った空白行に、コピー  ・・・といったマクロを組もうとしております。 たとえば 12行目を選択するプログラム(コマンド?マクロ?)は、  Rows(12:12) となっていたので、それにならって Rows(activecell:B) などとやってみたのですが、うまくいきませんでした。 このような場合、どうしたらよいのかアドバイスをいただけると助かります。 どうぞ、よろしくお願いいたします。  

  • マクロで、新しいシートを作りたい。

    エクセルのマクロを教えてください。 今は、Sheet1のA2に年月日、B2:H2にコード、項目1、項目2、・・・と入力します。 入力が終わったら、マクロを実行し、その後A2:H2をクリアしています。 今回やりたいのは、マクロの実行時に新しいシートを追加し、A2:H2をコピーしたいのです。 1 Sheet1のA2から、年月を取り出す。2003/1/1→200301 2 シートの中に、Sheet200301が有るかどうか調べ、無かったらSheet200301というシートを作る。 3 新しいシートを作ったら、Sheet4のA1:Z2をSheet200301に貼り付ける。 4 Sheet200301の最後の空白行を調べる。(新しいシートを作って最初は2行目になってもらいたい) 5 4で調べた空白行を次の行に貼り付ける。 6 4で調べた空白行にSheet1のA2:H2を貼り付ける。 7 Sheet1のA2:H2をクリアします。 よろしくお願いします。

  • エクセル【マクロ】について

    初心者です。 エクセルでシート1のA1からA10まで決めた文字(abc)という文字を検索して、検索文字があるセルの1行をコピーしてシート2のA1から下へ貼り付けるというマクロ(VBA)を作成したいと考えています。 詳しい方、よろしくお願いします。

  • エクセル マクロ VBA

    エクセルのマクロについて質問です。 『集計』というブックの『集計開始』というシートに     A列    B列     C列 1行目 見出し  見出し   見出し      (商品名)  (支店)  (個数)         2行目 コメント  空白     空白   3行目 空白   空白     空白 4行目 商品名  支店     個数  5行目 空白   空白     空白 6行目 空白   空白   コメント1 7行目 空白   空白     空白 8行目 空白   空白   コメント2 9行目以降    上記のデータ(見出しを除く)の繰り返し というデータが入っています。 B列の中に『AAA』という文字が含まれていたら、そのセルを空白に置換し、 含まれていなかったら、そこで処理がとまったりエラーが出たりしないで次のステッップへ進み、 C列の中に『B』という文字が含まれていたら、そのセルを空白に置換し、 含まれていなかったら、そこで処理がとまったりエラーが出たりしないで次のステッップへ進み、 (今は、手作業で編集→置換→検索する文字列の中に『B*』と入力し、 置換後の文字列を空白にしてすべて置換ということをやっています。)                            ABC列(データーの入っている行まで)の空白を含む行を一括削除し、 以下のような形にしたいのです。     A列    B列     C列 1行目 見出し  見出し   見出し      (商品名)  (支店)  (個数)         2行目 商品名  支店     個数  3行目 商品名  支店     個数          ・         ・ このようにするマクロ文はどのようになりますでしょうか?