エクセルVBAで、指定した文字列間のデータをコピー
- エクセルVBAを使って指定した文字列間のデータを簡単にコピーする方法についてご教示ください。
- エクセルVBAを利用して、指定した2つの文字列の間のデータを簡単にコピーする方法について教えてください。
- エクセルVBAで特定の文字列間のデータをコピーして別のシートに貼り付ける方法について詳しく教えてください。
- ベストアンサー
エクセルVBAで、指定した文字列間のデータをコピー
似たようなものがあるのですが、うまくいかないため、 詳しい方お願いします。 指定した2種類の文字列間のデータをコピーするエクセルVBAです。 データは、A1~A50の1列に入っています。 たとえば 北海道:札幌50 函館 20 青森 青森60 弘前30 岩手 盛岡50 rt 500 30 秋田 秋田1 と続きます。 「青森という文字列以降」から「岩手という文字列の前まで」の間のデータ をコピーして、Sheet2へ貼り付けたいです。 可能であれば、青森のデータは、Sheet2のA5,A6へ 岩手のデータはSheet2のA8,A9へ貼り付けたいです。 よろしくお願いします。 エクセル2007です。
- James-office
- お礼率100% (1/1)
- オフィス系ソフト
- 回答数1
- ありがとう数2
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
状況のご説明が限定的過ぎて、結局「何をどうしたい」のか随分曖昧なままのご質問です。 ○岩手から次は何までをA8、A9に貼りたいのか ○そもそも「青森から岩手」「岩手から次のナニか」と具体的にどのように指示したいのか ○貼り付け先は一体どういう段取り(つもり)でA5でありA8になるのか sub 青森から岩手の前まで() dim s1 as string dim s2 as string dim h1 as range dim h2 as range dim h as range dim Target as range ’実際にヤリタイ事に応じて段取りを工夫する s1 = "青森" s2 = "岩手" ’検索 set h1 = range("A1:A50").find(what:=s1, lookin:=xlvalues, lookat:=xlpart) set h2 = range("A1:A50").find(what:=s2, lookin:=xlvalues, lookat:=xlpart) if h1 is nothing or h2 is nothing then msgbox "NOUT FOUND " & s1 & " or " & s2 exit sub end if ’転記 set target = worksheets("Sheet2").range("A5") ’状況に応じて工夫する for each h in range(h1, h2) if h.value like "*" & s1 & "*" then ’見つけたところから target = mid(h.value, instr(h.value, s1)) elseif h.value like "*" & s2 & "*" then ’見つけた前まで target = left(h.value, application.max(0, instr(h.value, s2) - 1)) else ’間はそのまま target = h.value end if set target = target.offset(1) next end sub まずはそれぞれ寄せられた回答マクロを実際に動かして動作を確認し、改めてどうしたかったのか整理し直してから、別途ご相談として投稿し直してみて下さい。
関連するQ&A
- エクセル VBAについて教えてください
データの一部分を取り出す方法について教えてください。 A B C D E F ------------------------------------------ 1 1 北海道 札幌 先頭 2 2 2 青森県 青森 件数 3 3 3 岩手県 盛岡 4 4 秋田県 秋田 このようなデータがあります。 A列の番号において「F2セル」に該当する番号から 連続する件数分だけ抽出したいのですが、どのようにすればできますか。 結果としては「A2:C4」を抽出したいのです。 いろいろ検索しましたが探すことができませんでした。 どうぞよろしくご教授ください。
- ベストアンサー
- Visual Basic
- Excelの連続データから数行おきのコピー
ExcelのSheet1に連続したデータが入っています。 Sheet2はSheet1の内容を参考にしてレイアウトを変えていますが、 Sheet1で入力してある項目を参照して表示したいです。 コピーには規則性があるので、Sheet2を2項目だけ入力した後、 オートフィルで、一発で全部コピーしたいです。 VBAではなく、Sheet2に書くべき関数のコードを教えてください。 よろしくお願い致します。 ------------------------------- 連続したデータがSheet1に大量に入っています。 例 A B C 1 北海道 札幌市 メロン 2 青森県 八戸市 りんご 3 岩手県 盛岡市 冷麺 以下、多数あり。 Sheet2に、 A B C 1 北海道 札幌市 メロン 2 3 4 5 青森県 八戸市 りんご 6 7 8 9 ※ここから下をオートフィルのコピーで表示したい
- ベストアンサー
- オフィス系ソフト
- エクセル2003にて指定されたシートを複写するには?
エクセル2003にて指定されたシートを複写するには? はじめて投稿します。過去ログを調べたのですが、該当する質問を 発見することが出来なったので、宜しくお願い致します。 【質問内容】 エクセル2003にて、「シート1」は、以下のようになっています。 A B C 1 10 りんご 秋田 2 20 みかん 青森 3 30 バナナ 岩手 4 40 キウイ 島根 5 50 イチゴ 鳥取 マクロ(VBA?)で実施したいのは、「10」「20」・・・と いった文字列を「シート名」として、「シート2」に保存されている レイアウトをコピーし、「10」「20」とシート名として、コピーし、 反映させた上で、「シート1」のA1である『10』を新しくコピーされた シートである「10」のA列の5行目に「10」を持ってきたいと思っています。 (※B列以降は、VLOOKUPで持ってこようと思っています。) 800シート近くになり、毎週の処理な上、ひとつひとつやるには、時間ばっかり 必要になるので、マクロ(VBA?)で解決したいと思っております。 (※例のように5シート分であれば、手でやるのですが、、、) すみませんが、ご享受の程、宜しくお願い申し上げます。
- ベストアンサー
- 財務・会計・経理
- EXCEL VBAで文字列の検索とコピー
検索したい文字をinputboxで入力して、A列を検索して、検索文字を含むセルをコピーして、そのコピーしたデータを、別のシートに貼り付ける、次に該当したセルをさっきコピーしたデータの次の行に貼り付けて・・・。とデータが入力してある最終行までの繰り返し、をやりたいのですが、ご指導の程、説明が下手ですが宜しくお願いします!
- ベストアンサー
- オフィス系ソフト
- EXCEL VBA:文字列のコピー
1. intputbox で入力したパスにある全ての txtファイル名を sheet1 C列に表示。 (現在 6ファイルでテスト。予定作業で100ファイル程度) 2. 配列を使って C列のファイル名のファイルを順番に読み込み sheet2 A列に行単位で読み込み。 →今ココ 3. sheet2 A列に表示されたファイルに hostname_abcde という行があり、abcde 部分だけを sheet1 A列にコピー。 ( _ は半角スペースに読み替えてください。hostname_を検索すればいいのですが、その後に 続く abcde がファイルによって文字数が異なりコピーする方法が分かりません) 4. 「3.」のコピー後に sheet2全セルをクリアして 動的配列の next文へ進み、要素2 のテキスト ファイルを sheet2 A列に読み込みまた、 hostname_abcde の abcde を sheet1 A列の次のセルに コピー。要素数分繰り返します。 実際に記述した内容は職場のPCでないと分からないので詳しく書けませんが、上記 3. と 4. の 方法をご教示頂きたくお願い致します。
- ベストアンサー
- その他MS Office製品
- アクセスからエクセルへコピーすると文字列になってしまう
アクセスのクエリの数値データをコピーして、エクセルのシートにペーストすると文字列になってしまいます。他のPCではそういうことないのですが、何か設定が必要でしょうか。バージョンはどちらも2002です。
- 締切済み
- オフィス系ソフト
- エクセルでの列の文字列の一括置換え
ご質問失礼いたします。 エクセルので以下のようなことを 行いたくご相談させて頂きます。 以下のようなExcel A | B 01 | 北海道 02 | 青森県 03 | 岩手県 04 | 宮城県 05 | 秋田県 06 | 山形県 07 | 福島県 08 | 茨城県 09 | 栃木県 10 | 群馬県 (47都道府県分あり) ~~~~~~ 別ワークシートに A | B | C | D 山田太郎 群馬県 ○○市 ○○3丁目10-1 鈴木花子 秋田県 ○○市 ○○5丁目10-1 ~~~~~~ とあってB列の都道府県を前者のB列>A列の数字に変換し A | B | C | D 山田太郎 10 ○○市 ○○3丁目10-1 鈴木花子 05 ○○市 ○○5丁目10-1 ~~~~~~ このようにしたいです。 後者の行が数千あるのと都道府県が多いので通常のExcelの一括置換えなどではなく、 効率の良い方法や関数などございましたら、是非ご教授いただければ幸いです。
- ベストアンサー
- その他MS Office製品
- エクセル2003 表引き
こんにちは いつもお世話になっています。 エクセル2003を使っています。 Sheet1のA列に連番数字、B列に都道府県名があります。 1 青森 2 秋田 3 岩手 4 愛媛 5 鹿児島 Sheet2のA1にSheet1のB1データを引いてくるために =Sheet1!B1 という関数を入れました。 Sheet2のB1にはSheet1のB2を引いてきたいのですがフィルハンドルでのコピーに失敗します。 どのような関数を使えば横にコピーできるようになるでしょうか。 縦のデータを横にしたいのではなく、関数で引っ張りたいのです。 よろしくお願いします。
- ベストアンサー
- オフィス系ソフト
- 文字列を検索しその列をコピーする(VBA)
よろしくお願いします。 OS:WINDOWS 2000 PRO 環境:OFFICE 2003 エクセルのVBAについての質問です。 A列には数値コードが入っています。 そのコードは"1"と"2"に分類されてます。 マスターはSHEET1で、このマスターから コード1はSHEET2に、 コード2はSHEET3に 振り分けたいのですが、どうもうまくいきません・・・ A列にはコード"1" "2"以外に空白セルが存在します。 空白セルは無視したい。。。 それとこのデータはDBから抽出するのですが、 抽出したデータは規則性はありません。 抽出するごとに"1"と"2"と"空白"はランダムなので、 LOOP等のマクロを調べてやってみたのですが、出来なくて週末になってしまいました。 A列からコード1とコード2を検索して、 ヒットしたコードの行ごと各SHEETにコピーして、 なおかつ各シートA列の入力されていない一番下の セルにコピーしたいのですが、検索でヒットした 上から順番に。。。 これをLOOPと組合わせれば、各シートにコピーするのは 問題ないような気がします。。。 Sub AAA_BBB() .Copy Worksheets("Sheet2").Range("A65536").End(xlUp).Offset(1, 0) End With End Sub LOOP等で上記の条件を満たせる方法はないでしょうか。 ご教示を、よろしくお願いします。
- ベストアンサー
- オフィス系ソフト
- エクセルの「countif」について、カウントする文字を列で参照する方法
例えば、 A列 B列 C列 福島 青森 千葉 秋田 石川 山形 青森 岩手 東京 宮城 青森 福島 : : のように、A列には件名がランダムで、B列にはカウントする県名が順に入っているとします。 C列にカウントした数を表示するのに、 =countif($A$1:$A$50,"青森") と順にC1から入れていきたいのですが、47都道府県あるので、いちいち青森、秋田と入れるのは面倒なので、B列をifの条件に参照する形にしたいのですが、いい方法ありませんか? それとも何か他にいい方法があるのでしょうか
- ベストアンサー
- オフィス系ソフト
お礼
いろいろと工夫していただきましてありがとうございます。 実行結果は想定していたものと同じでした。 ありがとうございます。