• ベストアンサー

エクセルのマクロでこういう場合は?

noname#181872の回答

noname#181872
noname#181872
回答No.1

もとの表はE3:J29で固定ですか? もしそうであれば、forループで3から29までまわして、 if IsEmpty(Cells(i, 7).Value) = false and Cells(i, 7).Value <> 0 という形で通る行だけコピーペストしたらいいのではないでしょうか? それかまるごとコピーして、上と似たような形で…=true or …=0のとき その行を削除する、というのではいかがでしょうか?

moooon
質問者

お礼

ありがとうございます。 その書き方がわからないのです。すみません。

関連するQ&A

  • エクセルマクロ:空白行を除いてコピー

    マクロで次の作業を処理したいのですが、どのようなコードを書けばよいのでしょうか?教えてください。よろしくお願いします。 ○sheet1 ☆左側 列B~Hをワンセットとしたものが、計51行ある。先頭はタイトル行で9行目である。 D列には固定の文字列が与えられており、E列はブランクで、D・Eともに非表示にしておきたい。 B10~B59には、固定で1~50の数字が順番に与えられている。 C10~C59、G10~G59、H10~H59には数値が、F10~F59には文字列が入力される。 空白の場合もあり、どの行に入力されるかは不明。 ☆右側 列J~Pをワンセットとしたものが、計51行ある。先頭はタイトル行で9行目である。 J10~J59には、固定で51~100の数字が順番に与えられている。 K10~K59、M10~M59、O10~O59、P10~P59には数値が、L10~L59、N10~N59には文字列が入力される。 空白の場合もあり、どの行に入力されるかは不明。 ○sheet2 sheet1のボタンをクリックし、sheet2を表示させ、 sheet1の値を次のようにsheet2に貼付けたい。 sheet2のB8~H107の範囲内で上から、sheet1の左側B10~H59と右側J10~P59の空白を含む行を除いた セット(列B~H、列J~P)のみをコピーし、左側と右側を連続して、値のみ貼付けたい。 ※C列とK列の空白を判定すれば良い ※並べ替えなどのために別シートを置きたくない ※非表示列の扱い方

  • エクセル2010 繰り返しマクロ

    (1)g列の空白の最上行に =SUMPRODUCT(min((a:a>=f2)*(a:a<f2+730)*e:e)) と入力。 そのセルをコピーし、同じセルに値を上書き貼り付け ↓ (2)a列に(1)のセルの左隣のセル以下の数値がある行の、b列を削除 (画像の場合、(1)のセルがg1の場合、b2,b3を削除する) というのを、f列に数値がある行だけ繰り返すマクロの構文を教えてください。 大変お手数おかけいたしますが、どうぞよろしくお願いします。

  • エクセルのマクロ

    A列にアルファベット、B列からE列まで数字が入力されている表があります。 A1から順に(A1→A2→A3→・・・)、A列の文字を調べてそれが"A"であった場合のみ、同じ行のB列からE列の最大値をF列に、最小値をG列にコピーする(A列の文字が"A"以外の場合は何もせず下の行を調べる)、ということを繰り返し、A列が空白になった時その作業を中止する、というマクロを作りたいのです。 もちろん、一つの表だけならA列で並べ替えをして関数を使えば簡単にできますが、表がたくさんあるので自動化したいと思います。 マクロに関してはまったくの初心者なので、お知恵をお借りできればうれしく思います。

  • Excel 2007 マクロ AdvancedFilterについて(再

    Excel 2007 マクロ AdvancedFilterについて(再投稿) 先ほど同じ質問を投稿したのですが、画像を添付していませんでした。削除できないため再度投稿しました。 元データ(Sheet1)の表が4つあります。元データは画像に添付しました。 この表で製品名かぼちゃで「空白」と「-」以外の数値が入っている行をSheet3にコピーして貼り付けるマクロを作成しています。 <Sheet2> 製品名その他 かぼちゃ<> かぼちゃ- 下記マクロを実行したところ、Sheet3にはA列の番号のみ表示されます。 Sub Test1() Sheets("Sheet1").Range("A1:E34").AdvancedFilter xlFilterCopy, _ Sheets("Sheet2").Range("A1", Sheets("Sheet2").Cells.SpecialCells(xlCellTypeLastCell).Address), _ Sheets("Sheet3").Range("A1") End Sub <Sheet3> A列は空白です。 B列からE列は表示されていません。 どのように修正すればよろしいでしょうか。

  • エクセルで表のある列を最初から最後まで選択するマクロ

    今現在、シートにA3:E700までの大きな表があります。 中のデータは文字列や数値です。 A列B列には途中に空白はありません。C~E列には空白もあります。 この表のB列だけを選択するマクロを書きたいのですが、データは日々増減するため最終行が特定できません。 どのように書けばいいのでしょうか?

  • データ変換マクロ

    数値データのシートがあります。 A列に空白があった場合、その行のEとFのセルをコピーして1行上のEとFのセルにコピーしたいというマクロを作成しています。 全部で100行ほどのデータに、いくつか空白セルがあって規則性はありません。空白セルのある行はすべてが対象となります。 空白を見つけた後、「その行のEとFのセル」という指定の仕方で詰まってしまいました。 良い方法をおしえてください。

  • Excel 2007 マクロ 表の値の抽出について質問させて頂きます。

    Excel 2007 マクロ 表の値の抽出について質問させて頂きます。 4つの表がSheet1にあります。 表は画像として添付しました。 外国産、国産、その他のいずれかの列に数値が入って いる行をコピーしてSheet2に貼り付けるマクロを考えています。 昨日、2つの表の場合のマクロのご回答を頂きました。 2つ表が追加されると上の2つは、抽出されるのですが 下2つは抽出されません。 表が4つと2つではマクロが異なるのでしょうか。 マクロ超初心者ですので、文が長くなっても構いません。 容易なマクロのサンプルをご紹介いただけませんでしょうか。

  • エクセルのマクロを知りたい

    エクセルで,たくさんのデータが入力された【シートa】があります。 新しく【シートb】を作成して,そこに空白の表(1)~(10)までを作成します。 (ちなみに表(1)は1行から始まり100行まで,表(2)は101行から始まり200行まで・・・・といった感じです) 【シートb】の表(1)には,【シートa】でA列に「1」が入力されているデータを抽出して,それをB列の昇順に並べて記入しなさい。同様に,表(2)には,【シートa】でA列に「2」が入力されているデータを抽出して,それをB列の昇順に並べて記入しなさい。・・・というのを表(10)まで続けます。 上記のような命令をボタン一つで操作できるようなマクロを教えて欲しいのです。 お願いします。

  • Excel 2007 マクロ 表の集計について

    Excel 2007 マクロ 表の集計について 2つのシート(Sheet1とSheet2)の情報を集計して Sheet3に反映するマクロを考えています。 (1)Sheet1のC列、D列、E列とSheet2のC列が空欄の場合は  Sheet3に反映しません。 (2)Sheet1のC列、D列、E列とSheet2のC列のいずれかに数値が  入っている場合にはSheet3に行を反映します。  ※Sheet3に反映する際に、Sheet1とSheet2のキー(A列)は  反映しません。  各Sheetの表は画像を添付します。  どのようなマクロを作成すればよろしいでしょうか。  マクロの超初心者です。  マクロのサンプルをご紹介頂けますでしょうか。

  • Excelでマクロを使用した削除に関して

    マクロ初心者です。 Excelにて、以下のような表データがあるとします。     A列 B列 C列 D列 E列 … 1行      51  50  52  51    2行  50  a   b   c   d 3行  51  e   f    g   h    4行  52  i    j    k   l この表の中で、A列と1行目の値が同じになる交点となるセルの値"以外"を 削除して以下のように表示させたいのですが、 その方法がわかりません。     A列 B列 C列 D列 E列 … 1行      51  50  52  51    2行  50      b       3行  51  e          h    4行  52          k    単純な行削除・列削除ではないため、 頓挫しています。お知恵を拝借したく、よろしくおねがいします。