• ベストアンサー

条件の一致した行を他シートへ

VBAに関して質問なのですが 一行の中で指定した複数のセル全てが入力されている行を 他シートの空白最終行へ転記したい場合のVBAがうまくいきません。 どなたかわかる方があれば御教示頂ければと思います。 宜しくお願い致します。

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

  • ベストアンサー
  • KenKen_SP
  • ベストアンサー率62% (785/1258)
回答No.1

> VBAがうまくいきません どこがうまくいかないのでしょう? もう少し、わからない点を絞って 質問して頂いた方が回答し易いと思います。 > 一行の中で指定した複数のセル全てが入力されている行 一例ですが、A1:F1 の全てのセルが入力されているか調べるには、   If Application.Counta(Range("A1:F1"))=6 Then     MsgBox "OK"   End If という方法が使えます。 > 他シートの空白最終行へ転記したい場合 例えば、Sheet2 の A 列の最終行なら、   lLastRowNum = Worksheets("Sheet2").Cells(Rows.Count, "A").End(xlUp).Row で調べられます。転記先となるのはその次行だから、   Worksheets("Sheet2").Cells(lLastRowNum + 1, "A") となります。転記方法としては、値を直接代入していく方法、 コピーして貼り付けていく方法などがあります。

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

その他の回答 (1)

  • imogasi
  • ベストアンサー率27% (4737/17068)
回答No.2

思いついたのだが データのあるSheet1をSheet2などへシートのコピーを作る。(手動かVBAで、手動でをお勧め) d=Range("a65536").End(vlUp).Row でSheet2の最終行を捉え For i = d To 1 Step -1 と下の行から判別して行くのが定石。 その第i行で空白の列に出くわしたら、その行をDeleteする。 このコードが判らなければマクロの記録で、「行全体の削除」の記録を見て勉強してください。 2つのシートを扱わなくて済むので楽だと思う。

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

関連するQ&A

  • 〔EXCEL VBA〕で「第1のシート」のデータを「第2のシート」に転

    〔EXCEL VBA〕で「第1のシート」のデータを「第2のシート」に転記する方法 EXCEL2003でデータが480行/65列ある第1のシート(データベース的)があります。 第1のシートの列にデータが入力されている場合のみ、第2シートの指定されたセルに検索した列の 表題と検索したデータを結合して転記したいのですが良い方法が分りません。 その際、各行毎に検索し空白列は第2のシ-トに転記せず左詰めにして転記したいのですが・・・・ 初心者に合せたご教示をお願いします。 また、Excel VBAの短期マスター法が御座いましたら合せて教示願います。 以上、宜しくお願い致します。

  • VBA 条件の一致する行の特定のセルの削除について

    VBA初心者です。よろしくお願いします。 <sheet1>     A  B   C  D  E 1   1 1211 佐藤 10 100 2   2 1344  山田 25 150 3   3 1522 田中  5 80 4   4 1655  高橋 35 200 ・ ・ 100 100 3682 小林 40 300 <sheet2>    A   B 1 1344 2 この様な表があったとします。(見辛くてすみません) "sheet2"A1セルに入力した内容と同じ内容を"sheet1"のB列から検索し、その行のB~Eのセルを削除するにはどのようにしたら良いでしょうか? 例えば"sheet2で"「1344」と入力した場合、"sheet1"の「1344」のある2行目のB~Eのセルを削除するといった感じです。 削除後の空白は詰める必要はなく、マクロを記録させるボタンは"sheet2"に貼り付けます。 色々調べましたがどうにも分からない為質問させていただきます。 よろしくお願い致します。

  • シートの最終行から別のシートのセルをコピーしたいのですが

    (Sheet1)の最終行の次に(空白行AX,BX,CX,DX)に別のシート(Sheet2)のセルD2,G3,S4,F5をコピーしたいのですがVBAでどのように記述すればいいのでしょうか? よろしくお願いします。

  • 別シートの行を選択し対象列を転記するマクロ

    シート2のA~F列までデータがあります。 行数は10,000行です。(月ごとに100行くらい追加されます。) A列は項目がNO.で半角数字が連番で入力されてます。 セルA2→1 セルA3→2 セルA4→3 . . . セルA10000→9999 セルA10001→10000 という感じです。 シート1の セルI9に番号を入力すると シート2のその番号の行のB~F列の値を シート1のJ9~N9列に転記したいです。 例えば シート1のセルI9に100と入力したら、 シート2のA列が100と入力されているセルはA101ですから 101行目となります。101行目の各列の値を転記します。 ↓ シート1のセルJ9にシート2のセルB101の値を転記 シート1のセルK9にシート2のセルC101の値を転記 シート1のセルL9にシート2のセルD101の値を転記 シート1のセルM9にシート2のセルE101の値を転記 シート1のセルN9にシート2のセルF101の値を転記 シート1もシート2もセルの書式設定は標準。 B,E,F列は半角英数字の組み合わせで C,D列は半角数字のみです。 たまにF列に空白がある行があります。 B,F列は数字のみの場合もあります。 B,C,D,F列は数字のみの場合 「数値が文字列として入力されています」 となっています。 マクロで行いたいのですが記述そのものを教えてください。

  • excel「行の挿入」するとなぜか最終行に挿入されてしまう

    昨日、 ”excel2000の表で、ふつうにただ1行挿入したいだけなのですが、「行の挿入」を選ぶと 「データの消失を防ぐ為、空白でないセルをワークシートの外にシフトすることは出来ません」 とポップアップが出て、操作できません。” という質問をし、 ”全ての行を使い切ってしまっている、あるいは最終行(65536行目)のどこかのセルにデータが入っている。そのデータを消せばよい。” と教えて頂き、確認したところ最終行まで罫線がびっしり引かれていることに気付き、そんなにいらないので400行目以降の罫線はすべてクリアーで消去しました。 それで一件落着と思ったのですが、その後1行 行(罫線)を挿入すると、なぜか途中を通り越して最終行に罫線がはみ出てしまい、しばらくしてもう一行挿入しようとするとまた 「データの消失を防ぐ為、空白でないセルをワークシートの外にシフトすることは出来ません」 となってしまいます。私は400行目以内ですべて作業を完結させたいのに・・・。 どうすればよろしいでしょうか。

  • Excel 条件一致の別シートの行にデータを転記

    Excel初心者です。教えてください。 アンケートの集計をしているのですが、 単票形式の入力用シートに入っているデータを、隣のシートに転記していきたいと思っています。 入力シートには会社名と担当者、多数の設問があり、その回答は全てチェックボックス形式です。(非表示のセルにチェックボックスのチェック有り無しをリンクさせています) 隣のシートには既に会社名などの一覧があり、そこの社名が一致する行にそのチェックの有り無しの値を転記用ボタンで転記したいと思っています。 ●入力シート A株式会社 担当:佐藤 設問1・・・ チェックあり 設問2・・・ チェックなし 設問3・・・ チェックあり ・ ・ ・ ●転記先シート 社名 設問1 設問2 設問3 A株式会社 TRUE FALSE TRUE B株式会社 C株式会社 マクロでどのようにしたらよいでしょうか。 すみませんが教えてください<(_ _)> よろしくお願いいたします。

  • 条件に一致する行データを別シートに抽出する

    日付別の各データが入力された総括のシートがあり「0」とします。 別に13個の項目別シートを固定の様式で作ってあります。「1~13」とします。 シート「0」のB2~B30までセル上に入力するデータが1~13の整数として入力する訳ですが、その入力されたデータセルの中で該当する数字を条件として抽出し目的のシートの決められた座標から順に行を開けずに表示したいのです。 例えばシート「0」のB列に6という数字が入力されていたら同じ行A、C、Dのデータを全てシート「6」のA、B、Cに表示させたいのです。 同じように他の数字も該当するシートに該当する数字の全てを表示したいのです できるだけ判り易く教えてくださいお願いします。

  • 複数シートから空白ではない行をすべて抽出

    タイトル行A1:D1、データの中身は、A2:D11の全く同じ様式のシートが複数あります。シート名はバラバラです。 全シートの空白ではない行を全て別の集計シートに抽出したいです。 空白行は抽出しません。 これを関数でどのようにつくればよいのでしょうか? 関数で無理ならVBAでお願いします。

  • 同じ様式の表の複数シートから行ごと抽出

    A2:K12の範囲に表がある全く同じ様式のシートが複数あります。 特定の条件が満たされた行を全て別シートに抽出したいです。 1列目と2列目とX列目(これは集計のA1セルに入った値を参照)が空白でない行を全て抽出したいです。1列目と2列目は1行目から順番に埋まっているのですが、X列目は空白になっているものと空白でないものが混在しています。 たとえば、Xが10列目のときは、Aさん、Bさん、Cさん、Dさん、Eさんの行が抽出されるようにしたいです。 VBAのコードを自力で書けないので、よろしくお願いします。

  • シート作成について

    Excellマクロで検索とシート作成等を行いたいのですが、全くの素人のためご教授願えればと思います。 (1)"入力"シートのC5から値のある行(C列)まで同じシートがあるか確認する (2)同じ名前のシートが無ければ、"原紙"シートに"入力"シートのG列からX列までを転記しシートをコピーする(既にある場合は作成なし、転記のみ) ※転記する列は、入力シートG=原紙シートC など指定される (3)コピーしたシート名をセルの値(C列)と同じ名前に変更 (4)C5から値のある最終行まで(1)~(3)を繰り返す 解りやすくご説明いただけると幸いです。宜しくお願いいたします。