• 締切済み

該当行の最終列にコピーする

すべて windows7 使用するPCによってoffice2007、2010とoffice xp Sheet1A1:D1000の表をSheet2&3A1:BZ1000の表該当セルにコピー(書式、セルフォント色とも)します。 Sheet1 1行めはタイトル行です。 Sheet1A2の値(英数字)をSheet2&3A:Aから検索し、その行の最終列の次列からSheet1B2:D2の値(B2は文字列C2は日付D2は文字列)をコピー(書式、セルフォント色とも)します。

みんなの回答

回答No.2

>Sheet1A1:D1000の表をSheet2&3A1:BZ1000の表該当セルにコピー(書式、セルフォント色とも)します。 Sheet1A2の値(英数字)をSheet2&3A:Aから検索し、 そもそもコピー不能に見えるが、同じデータ検索しても勝負は最初からツイテル、、、

  • mu2011
  • ベストアンサー率38% (1910/4994)
回答No.1

Sheet1のシートタブ上で右クリック→コードの表示→サンプルコード貼り付け→シート上でAlt+F8キー押下、sample実行 Sub sample() Dim i As Long, j As Long, r As Range For i = 2 To 3 With Sheets("sheet" & i) For j = 2 To Cells(Rows.Count, 1).End(xlUp).Row Set r = .Columns(1).Find(what:=Cells(j, 1), _ LookIn:=xlValues, lookat:=xlWhole) If Not r Is Nothing Then Cells(j, 2).Resize(, 3).Copy . _ Cells(r.Row, Columns.Count).End(xlToLeft).Offset(, 1) End If Next End With Next End Sub

関連するQ&A

  • 色なし行のコピー

    sheet1にA1:E700の表が有り、B列からE列までセルを黄色にした行がランダムに幾つも有ります。このとき、sheet2のA1から上に詰めて色なし行だけをコピーする記述教えてください。(例えば3行目がB列からE列まで黄色のセルだったら3行目はコピーしない)、よろしくお願いします。

  • シート1のC列の最終行をコピーして同じ行に値貼り付けしたい

    シート1のC列の最終行を取得して その行を丸々値貼り付けするマクロを作りたいと思います。 シート3のB18の値をシート1のC列の最終行の1つ下のセルに値貼り付け すると、その行のA、B列に日付が入力される関数が入っています。(下まで) 関数が入ったままだと、うまくいかない時があるので最終行をコピーして値貼り付けしたいのですが、マクロの作り方を教えてください。 シート1の最終行に貼り付け Sheets("Sheet3").Select Range("B18").Select Selection.Copy Sheets("Sheet1").Select Range("C65536").End(xlUp).Offset(1).Select Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False Application.CutCopyMode = False End Sub 最終行をコピーして値貼り付け Dim 最終行 As Integer 最終行 = Range("C65536").End(xlUp).Row Range("A6:C" & 最終行).Select Selection.Copy Sheets("Sheet1").Select Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False Application.CutCopyMode = False End Sub このマクロだと、A6からC列の最終行まで全てコピーされてしまうので、C列の最終行のAからC列まで1行だけコピーできないでしょうか?

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

    シート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列は数字のみの場合 「数値が文字列として入力されています」 となっています。 マクロで行いたいのですが記述そのものを教えてください。

  • 最終行までコピーする

    A1「単価」,B1「数量」の表があります C1「売上」としてC2にa2*b2の式をいれc列の最終行までコピーしたいのです。A列、B列にブランクはありません。最終行は決まっていません 似たようなサンプルは見かけるのですがピタリのは見つけられませんでした。 当方まだマクロの入り口をウロウロしている程度なのでよろしくお願いします

  • Excelの数式のコピーで列移動で行番号を変えたいのですが

    Excelで表管理をしているのですが、数式のコピーをする時に列を移動させて行の方を変更させる方法は無いのでしょうか? 例えばB2のセルに(Sheet2!B2)と入っている物を、C2,D2,E2…と列の方にコピーをさせた場合に(Sheet2!B3)、(Sheet2!B4)(Sheet2!B5)と行の方の数字だけを変更させたいんです。 $を付けたりして試して見たのですが行は行、列は列の方しか参照してくれないみたいなので、何か方法があれば教えて頂けないでしょうか? 作りたい表の数が多く手入力では大変なので、簡単な操作があればよろしくお願いします。

  • Excel 元シートの条件を入れた行を別シートへコピーする方法を教えてください。

    元のシート(Sheet1)のデータが次のように表になっております。 A列の依頼先は、未定で、決定したら、A社、B社と入力します。 D列以降は月ごとのスケジュール表となっており、☆は赤色文字、 ☆と◆が入力されたセルは黄色に塗られております。  A    B   C  D  E  F 1依頼先 装置名 台数 1月 2月 3月… 2 A社   ROBO  1   ☆ ◆ 3 A社   ROBO  1     ☆ ◆ 4     ROBO2  2        ☆ 5 B社   ROBO3  1   ☆  ◆ A社、B社…と、会社ごとにシートが作成してあり、 表の配置はSheet1と全く同じです。 すでにいくつかの装置のスケジュールが入力されているとします。 Sheet1の依頼先の欄に、社名を入力したら、入力した行がそのまま A社であればA社のシートにコピーされるようにしたいです。 その際に、既にA社のシートにデータがあったら既存のデータの下に データがコピーされるようにしたい。 また、文字色・セルの色などの書式も一緒にコピーされるように したい。 何も入力されていない空白のセルは、空白のままコピーされてほしい。 同様に、B社と入力したらその行がB社のシートに、 書式ごとコピーされるようにしたい。 社名が増えたら、会社ごとのシートを増やして随時対応したい。 以上の作業、できますでしょうか? できれば早急に回答いただきたいです。 宜しくお願い致します。

  • VBAで行のコピー

    タイトルの通りなのですが、VBAで行のコピーを行いたいのですが、うまくいきません。教えて下さい。  あ 1 (空白)  い 2 A  う 3 (空白)  え 4 (空白)  お 5 B この様な表があるのですが、3列目に空白以外の文字があった場合その下に1行コピーをしたいのです。 上の表の場合は3列目にAがあるので"い"と"う"の間に"い"の行をコピーしてもう一行入れたいです。Bについても同様です。 すいませんが、教えていただければありがたいです。 よろしくお願いいたします。

  • エクセルで行ごと書式設定コピーすると列がずれる

    列ごとに表示形式(日付、文字列、数値、および文字サイズ、入力規制など)の異なる表があり、行ごとにパターン(色)を変えてあります。この行の色を変えようと他の行の行ごと選択して形式コーピー貼り付けしょうとするとうまくいくこともあるのですが、列の表示形式がずれてしまうこともあります。非表示の列がありいちばん左のaの列を非表示にしてるときに起こるのかなとなんとなく思っています。ただ、行の表示番号の所をクリックして行ごと書式コピペしてるのになぜこのようなことになるのか不思議です。 頻繁に行う作業で、列数が多いのでいちいち必要な範囲を選択するのは大変面倒なので行ごと選択して書式コピペしたいのですがいい方法はありませんか?

  • 【Excel】行と列で値を検索したい

    こんにちは Sheet1に表があります。 Sheet2のA列と1行に値を入力したときに、 Sheet1の交わる値を表示したいのですが、 Sheet2のB2、C2、B3、C3の式を教えて下さい。 Excel2013です。 宜しくお願いいたします。

  • Excel 隣接しない列に値貼り付け

    Excel 隣接しない列に値貼り付け ※「Excel 隣接しない列に一発で値貼り付け」の書き直しです。 ある一定の書式にしたがって作成された20~30のシートのデータを1つのシートに集約しており(集約シートを含み全てのシートは同じデータ内です。)、データを集約した集約シートの「表A」は下記の添付画像左側のようになります。 やりたいことは、「表A」のB列、C列、D列、E列をある条件のもとに右側の「表B」のH列、J列、L列、N列に値の貼り付けを行いたいのです。 現在の作業工程は、C列の空白行は必要ないため(C列が空白=他の列も空白)C列に文字入力があるとチェックが入るA列のオートフィルターで、「○」のみ表示にし、B~E列を順にそれぞれ、2行目からデータが記載された最終行までコピーし 「表B」のそれぞれの箇所に値貼り付けを行っています。 この時の注意点として、A列のオートフィルタ利用のためC列には空白がありませんが、B、D、E列には空白が存在します。 データがある最終行以下の空白は必要ありませんが、データ間の空白には意味があります。(下記の図で示すと「B3、4」や「D3、4」) 現在の作業工程でも問題はないのですが、この作業は最初に記載した20~30のシートに記載されたデータの校正に使うため取りこぼしをしたくなく、不特定多数の方が簡単に使えるようにしたいので、どうにか作業工程を減らしたいと考えています。 よろしくお願いします。 ▼書式シート *シートの数は増減する。 *集約シートが参照するセルには、必ずデータが入力されているわけではない。 *入力データは全て数値ではなく文字である。 ▼集約シート *他のブックと共通使用なため、一部の式は他のブックへのコピーに対応する形である。 *空白セルを参照している場合に結果として返される「0」は、オプション設定で非表示にて対応 *「表A」の行長は増減する。 *貼り付け先「表B」の列は飛び飛びである。 ▼ちなみに「表A」に使われている計算式(実際とは一部変えています) ■A列  :C列に文字入力がある場合「○」が表示されます     {=IF(OR($C1>""),"○","")} ■B-E列:他のシートの任意のセルの値をコピー     {=IF(ISERROR(INDIRECT("'シート名'!セル")),"",INDIRECT("'シート名'!セル"))} PC環境:Win XP / Excel 2003

専門家に質問してみよう