• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:VBAの文字検索、コピーについて質問です。)

VBA文字検索・コピーの方法とは?

このQ&Aのポイント
  • VBAを使用して別のブックの特定の文字を検索し、貼り付けを行う方法について質問があります。
  • ブック1の指定したセルの値を検索し、その値が含まれる行をブック2に貼り付ける作業を行いたいです。
  • 貼り付け時に値のみを貼り付ける方法についても教えてください。

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

  • ベストアンサー
  • mar00
  • ベストアンサー率36% (158/430)
回答No.1

'二つのブックを開いている前提で Sub Macro1() BOOK_NAME1 = "Book1.xls" 'ブック名はここを変えて下さい。 BOOK_NAME2 = "Book2.xls" 'ブック名はここを変えて下さい。 Windows(BOOK_NAME1).Activate GYOU = Cells(Rows.Count, 1).End(xlUp).Row RETU = Range("B1") + 1 Range(Cells(2, 2), Cells(GYOU, 2)).Copy Windows(BOOK_NAME2).Activate Cells(2, RETU).PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False Application.CutCopyMode = False Windows(BOOK_NAME1).Activate Range(Cells(2, 2), Cells(GYOU, 2)).EntireColumn.Delete End Sub

loveless-05410
質問者

お礼

遅くなり申し訳ありません! ありがとうございました!

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

関連するQ&A

  • エクセルVBAの質問です

    sample.xlsがあり内容は下記のように A列に名前、B列に数字が入り、行数は一定でありません 田中一郎 3 鈴木健一 5 佐藤太郎 8 田中一郎 5 田中一郎 2 佐藤太郎 7 鈴木健一 3 佐藤太郎 9 鈴木健一 54 佐藤太郎 8 田中一郎 9 このエクセルシートにコマンドボタンを付け、VBAでコマンドボタンを押した場合 指定したエクセルファイル”kekka.xls”に 田中一郎 19 鈴木健一 62 佐藤太郎 32 と言うように、名前別でその氏名の横の数字の合計を表示させたいと考えています。 何卒お知恵をお貸しください、お願いします。

  • 重複するidをデータごとにまとめるvbaのコード

    excel vbaで次のようなコードを作りたいです。 シート1に元データが4000件ほどあります。 シート2に、シート1のidが同じものを、3行ずつ横に表示したいです。 idと名前は1度のみ、それ以降は都道府県名と数字のみ表示します。 同じidを持つものが3行に満たないのであれば、改行します。 同じidを持つものが3行以上ある場合は、3行ごとに改行します。 1 佐藤 東京 1000 1 佐藤 千葉 2100 1 佐藤 青森 1300 2 鈴木 東京 5600 2 鈴木 千葉 3500 3 山田 三重 2910 3 山田 長野 3820 3 山田 山口 8760 3 山田 沖縄 6560 4 : ↓ 1 佐藤 東京 1000 千葉 2100 青森 1300 2 鈴木 東京 5600 千葉 3500 3 山田 三重 2910 長野 3820 山口 8760 3 山田 沖縄 6560 4 : どなたかこのような動作を行うvbaのコードを教えてください。 よろしくお願いします。

  • 複数シートのコピーペースト(+文字列の行削除)

    エクセルで、複数シートをまとめる作業をしているのですが、 幾つかの壁にあたりました。 1.複数シートのCD列コピー、FG列コピーし、他ブックのAB列に1列に貼り付けることができないでしょうか? 複数シートを選択し、クリップボードにコピーし、全て貼り付けをしますが、 1シート分しか貼り付けできません。 もしできるならついでに、シート1のCDシート1のFG続いてシート2のCD、シート2のFGといった、 順番にしたいと考えています。 2.A列に数字と文字があるが、文字の行を削除したい。   A(列)B(列)  コード 名前   1  あ   2  い   3  う  コード 名前   4  え   5  お   ・ ・ ・ ・ 上図で、コードの行を削除したいのです。 ほかに分からないことは、こちらで検索し、解決したんですが、これらは見つからなかったので、お願いします。

  • 複数のシートのセル内容をひとつにまとめたい

    複数のシートのセル内容をひとつにまとめたいと思っています。 Sheet1        Sheet2      Sheet3 1 山田 ¥100  1 山田 ¥80  3 鈴木 ¥80 2 佐藤 ¥130  2 佐藤 ¥55  4 田中 ¥150 3 鈴木 ¥110  4 田中 ¥60 こんなデータを Sheet4 1 山田 2 佐藤 3 鈴木 4 田中 とまとめたいんです。 金額は必要ないので、番号と名前だけをまとめたいんです。 どうすれば良いか、教えてください。 よろしくお願いします。

  • excelオートフィルタの検索条件をセルに入力したい

    以下のようなexcelのリストがあるとします。     A       B    C~ 1 佐藤・鈴木  Aタイプ 2 田中・山田  Bタイプ 3  佐藤     Aタイプ 4  田中     Cタイプ 5 山田・鈴木  Cタイプ A列の"田"が含まれる行を抽出したい場合 オートフィルタをかけ、オプションの抽出条件の指定で "田"を含む、で検索すれば良い、というのはわかります。 ですが、この動作をもうちょっと簡単にできないかと思っています。 具体的には、以下のようにセルに入力して検索・抽出するとはできないでしょうか。     A       B    C~ 1   田 2 3 4   A       B    C~ 6 田中・山田  Bタイプ 8  田中     Cタイプ 9 山田・鈴木  Cタイプ (1、2行目=検索用 3行目=空き 4行目以降=リスト) 過去の質問で、同じようにセルに入力して抽出する方法を 聞いていた方がいらっしゃったので参考にしようと思ったのですが 方法がVBAを使ったもので、VBAの知識がまったく無いために さっぱり理解することができませんでした。 何か良い方法がありましたら教えていただけないでしょうか。

  • ExcelのVBAに明るい方・・・

    Excelの、Sheet1 に 1日目,鈴木くん,点数,・・・ 2日目,佐藤くん,点数,・・・ 2日目,山田くん,点数,・・・ 3日目,佐藤くん,点数,・・・ 3日目,鈴木くん,点数,・・・ 4日目,山田くん,点数,・・・ ・・・ という、元ダネの一覧表があって、 このデータを日々追加入力していくごとに、自動的に、 Sheet2 には、鈴木くんのみの一覧表のデータ 1日目,鈴木くん,点数,・・・ 3日目,鈴木くん,点数,・・・ ・・・ Sheet3 には、佐藤くんのみの一覧表のデータ 2日目,佐藤くん,点数,・・・ 3日目,佐藤くん,点数,・・・ ・・・ Sheet4 には、山田くんのみの一覧表のデータ 2日目,山田くん,点数,・・・ 4日目,山田くん,点数,・・・ ・・・ が、自動的に追加入力されるVBAの記述って、 どうすればいいんでしょうか? VBAに明るい方、どうかよろしくお願いします。

  • エクセルVBA セルを参照した文字検索

    どなたか教えてください。 ブックAのシート1の“A1”の値が、ブックBのシート1のA列に完全一致であるかどうかを検索し、あればそのセルをアクティブ、なければメッセージを返すという処理をVBAで行いたいです。 Findメソッドを使うのかなというのは、なんとなくわかるのですが、検索値が毎回異なり直接検索値をコードに記入できないこと、異なるブックで検索することなどにより、コードの記載方法がわかりません。 どなたか、わかる方お教えください。

  • Excel 数字から判断して文字を表示

    Excelにて以下の様な処理を関数を用いて行いたいと思います(都合上、VBは不可) 1)数字に名前を割り当てる ex:「1-田中」、「2-鈴木」、「3-佐藤」、「4-山田」、「5-橋本」、「6-山本」、「7-沢田」、「8-山岡」 2)1~9までの数字を入力する ex:「12345」、「3456」、「2487」 3)2で入力された数字を元に1の名前を表示する ex: 「12345」→「田中、鈴木、佐藤、山田、橋本」 「3456」→「佐藤、山田、橋本、山本」 「2487」→「鈴木、山田、山岡、沢田」 この様な処理はどうすれば実現出来ますでしょうか? 数字の組み合わせがいくつもあるのでVLOOKUPは使えない。と思い、質問させて頂きました よろしくお願い致します。

  • EXCEL VBA コピー貼り付け時のチェック

    お世話になります。田中と申します。 VBAの練習で下記の操作を実現したいと思っておりますが、どうしたらよいのか分りません。 A.xlsというブックがあります。 A.xlsの[データ]というシートにボタンをおいてそのボタンをクリックしたら以下のような動作をしたいのです。 このA.xlsの[データ]シートのA1~L20までをコピーして、C:\Users\田中\DesktopにあるB.xlsというブックの[シート1]という名称の単にシートに貼り付けしたいのです。 ただし貼り付け時に他のユーザーがB.xlsを開いている場合は、貼り付け処理を中止したいのですが、そのようなユーザーに開かれているかどうかVBAでチェックする方法はありますでしょうか? どなたかお知恵をお借りできますでしょうか。 よろしくお願い致します。 環境 Windows7 Excel2013

  • 複数シートから検索文字がある列を摘出したい

    初心者ですのでお力お貸し下さい。 30sheet以上あるエクセルファイルから、 特定の文字(あるいは数字)が入ったセルを検索し、その特定文字が入った一列を新規sheetへ摘出したいと考えております。 各sheetには下記の様な表が作成されており、1sheetに検索文字は0だったり複数あったりします。 A B C D 1 ◯会社 123 田中 1111 2 ▫️会社 456 佐藤 2222 3 △会社 789 加藤 3333 4 ◯会社 123 田中 4444 (表示がうまくされてなかったらすみません) 上記の様な表から、123(または田中)のみを新規sheetにまとめて表示させたいです。 またsheet毎に田中があったりなかったりしますが、全てのsheetから摘出させたいです。 新規sheetは検索結果のみを表示させて、一つの表にしたいです。 エクセルは2003使用です。 説明が下手で申し訳ありませんが、関数マクロは問いませんので分かり易く教えて頂けると助かります。 よろしくお願いします。

専門家に質問してみよう