- ベストアンサー
エクセルマクロで日本語を抽出して転記する方法
keithinの回答
- keithin
- ベストアンサー率66% (5278/7940)
>単一セル内に英文+訳文といったデータがある 「I am a boy. 私は少年です。」といった具合に,必ず半角で書かれた英文とそれに続いて日本語の訳文が続いているだけの単純な構図なら =LEFT(A1,LEN(A1)*2-LENB(A1)) =RIGHT(A1,LENB(A1)-LEN(A1)) などのようにして関数で切り出すのも容易です(再計算で時間が掛かる?ことは無いと思います)が,入り交じって混在しているのでしたら一文字ずつ舐めていくしかありませんね。 #少しでも具体的なサンプルを挙げてご相談を書いてもらえれば,クイズになることもなくすっきり回答が寄せられます。今後のご参考に。 #まぁ誰が書いても同じようなマクロにしかなりませんが sub macro1() dim h as range dim buf1 as string, buf2 as string, buf as string dim i as long for each h in range("A1:A" & range("A65536").end(xlup).row) buf1 = "" buf2 = "" for i = 1 to len(h.text) buf = mid(h.text, i, 1) if strconv(buf, vbwide) = buf then buf2 = buf2 & buf else buf1 = buf1 & buf end if next i h.offset(0, 1) = buf1 h.offset(0, 2) = buf2 next end sub
関連するQ&A
- エクセルのマクロ作成で困ってます
マクロ初心者です。 ”Sheet1にあるデータについて、複数条件で抽出後、Sheet2の表に転記” という動作をマクロで組みました。 ここまでは良かったのですが、Sheet2に転記する際、下記の様にさらに条件を付加したいと思っています。 やりたいこと(ア) Sheet1で条件によりたとえば10個のデータを抽出できたとし、 1~6個目までは、Sheet2の1行~6行に転記、 7~10個目までは、Sheet2の11行~14行に転記。 ※”6個目まで1~6行に転記”というのは決まっているのですが、 この10個というのは、例であって、5個だったり、14個だったり、 抽出したデータにより異なるので、変数です。 やりたいこと(イ) Sheet1から、さらに別の条件で抽出したデータを、 やりたいこと(ア)の10個目を転記した行のあとすぐ(例でいうと15行目)から転記したい。 ※やりたいこと(ア)で抽出した条件が6個以下だった場合、11行目から転記。 以上の2つです。 条件の抽出までは出来るのですが、 (ア)の7個目から別のところに転記 (イ)の別の条件で抽出したデータを(ア)の次(6個以下の場合は11行目)から転記 をどうやって組んだら良いかわかりません。 もし分かる方がいらしたら、 どのようなコマンド(?)を使ったら良いのか、 ご教示いただけると助かります。 よろしくお願いします!
- 締切済み
- オフィス系ソフト
- EXCELの表からの「抽出」、「転記」
1.元帳(Sheet8)から転記した「金融機関向け提出資料」(Sheet10)があったので、こ れからまた転記して組単位で「No.」と「氏名」の表(Sheet5)を作りたいので す。 2. 添付画像「金融機関向け提出資料」(Sheet10)において、9組を例にとると、No.7、No.16、No.17、No.23の、以下続 く。これ等をSheet5の表に抽出していきたいのです。Sheet5の構想は、1行目:組 番号、2行目は項目名:No.(A2)と氏名(B2)、3行目~27行目(25名分)に各 データを 抽出、転記する。一組分の範囲はA1:B27です。 3.組の数は9組ありますが、一組だけその方法を教えて頂ければ結構です。 4.尚、Sheet10のNo.は1~188です。Sheet10のG列に、組番号を転記しています。こ の組番号はSheet10では印刷領域外です。 5. Sheet10からSheet 5に抽出し、転記した最初の人の(1)No.と(2)氏名をオートフィ ルで下にコピーすると、同じ組のNo.と氏名が表示されたら良いのですが・・・。 6.私はマクロが使えません。INDEX関数やMATCH関数は使ったことがあります。 元帳(Sheet8)からINDEX関数で「金融機関向け提出資料」(Sheet10)に転記して います。 7.最初から9組分の表を作成しておいて、そこにデータを順次転記していく方法もあ るのかも知れません。 8.Sheet10の一部を「画像添付」します。 以上ですが、よろしくご指導ください。
- 締切済み
- Excel(エクセル)
- Excel 2007 データ転記
Excel 2007 データ転記 Sheet1とSheet2にデータがあります。 Sheet1とSheet2の会社主キーを比較します。 合致した会社主キーについて、Sheet1の姓、名、職種にSheet2のデータを転記したいです。 完成形を含めて画像を添付しました。 どのように解決すればよろしいでしょうか。 マクロ、関数のいずれでもかまいません。 アドバイス頂けますでしょうか。
- ベストアンサー
- その他MS Office製品
- エクセルでデータを抽出し,別シートに転記する方法
「志望校一覧」というシートに添付ファイルのような書式で約200人のデータが入っています。 これを高校学科別にデータを抽出して書式を変えずに「志望校別」という別のシートに転記したいのですが,何か良いマクロか数式はありますか?実際のデータが入っている行は3行目(A子)から188行までです。並び順は右端のコード順,なおかつ組・番順になると良いのですが…。
- ベストアンサー
- オフィス系ソフト
- マクロを使ってテキストを抽出したい?
エクセルのマクロを使ってテキストを抽出したい? ある1つのCSVデータがあります。エクセルで開いてみるとA列からU列までデータがびっちり入っています。 F列の各セルにはテキストを含むhtmlタグや%%NL%%やスペースなどあります。 質問なのですがF列をテキストだけに変換(抽出)したいです。 そのようなマクロを教えていただけないでしょうか?
- 締切済み
- オフィス系ソフト
- EXCEL データの抽出と転記
1.添付ファイル(JPEG)では、Sheet 10とSheet 5を両方表示しています。同じブッ ク内ですが、当然分離しています。 2.やりたいことはSheet 10からデータを抽出してSheet 5に転記することです。 Sheet 5の9組に、その例を表示しました。 3.Sheet 5には25名分を表記しています。組はランダムです。 4.Sheet 10では、実際の組の数は全部で9つあり、No.は188あります。氏名と組には ところどころ空白があります。(不在者です) 氏名は昇順とは限りません。 それに対応できる「計算式」をお願いします。 5.私はEXCELに詳しくありません。マクロが使えません。Sheet 5の組がランダムに 表記されているので、どう抽出したらよいのか困っています。「〇〇関数を使えば よい」の回答は不要です。具体的な計算式での回答をお願いします。 尚、私はINDEX関数やMATCH関数は使いますが、VLOOKUP関数は使いません。 7.過日一度質問を投稿したのですが、私の不手際で「プライバシーの侵害につながる恐れのある内容が含まれていた」と判断されてしまいました。そして添付ファイルを削除され、質問の内容を編集されました。結果、質問の内容が回答者には伝わらなくなってしまいました。今回は質問の仕方を変えて再投稿しています。今度の添付ファイルは問題がないと思っています。 説明が長くなってしまいました。 よろしくご指導下さい。
- ベストアンサー
- Excel(エクセル)
- ACCESSからエクセルを操作する方法
宜しくお願いします。 (1)ACCESSのフォームをクリックして、抽出されたデータをエクセルに出力(マクロでやってます) (2)抽出されたデータを、エクセル上で、セル幅や項目変更等を、手動にて行っています。 この、(2)の処理を、エクセルのマクロを用いて行いたいのですが、ACCESSからエクセルのマクロ 操作は可能なのでしょうか? ご存知の方がいらっしゃいましたら、宜しくお願い致します。
- 締切済み
- その他(データベース)
- 複数のブックからデータを転記するマクロについて
こんにちは。 VBAの素人なのでネットや本などで自分なりに調べましたが、 どうにも解決できないので、ご教示いただけませんでしょうか。 複数のブックにある同一セル番地にある データを別のブックにまとめたいのですが、 ブック数が500程度あり、マクロでうまくできないか悩んでいます。 (1)転記元ブックを開く。 (2)転記元データをコピーする。 (3)転記先ファイルのセルに貼り付ける。 (4)転記元ブックを閉じる。 の繰り返しだと思うのですが、(2)ができず困っています。 ちなみに、500のブックとまとめるブックも同じフォルダにあります。 具体的には、転記元ブックは以下のような形で、A列に様々な温度のデータが縦に並んでいます。 A列 1行 温度 2行 27 ←ここのみ抽出したい 3行 28 4行 30 それぞれのブックのA2番地の温度データのみを抽出し、転記先ブックのA2からA500までまとめたい。 組んだマクロは以下です。 ------------------------------ Sub 特定フォルダ内ブックを並べ替えて転記() Dim myDir As String, myName As String, myBook As Workbook Dim motodata As Range, sakidata As Range '集計用のブックがあるフォルダ名を指定 myDir = "D:\VBA練習" myName = Dir(myDir & "\" & "*.xls") Do While myName <> "" '↓転記先の最新レコード位置を取得する Set sakidata = Range("A65536").End(xlUp).Offset(1) '↓(1)指定した名前のブックを開いて変数に格納する Set myBook = Workbooks.Open(Filename:=myDir & "\" & myName) '↓(2)転記元を取得する Set motodata = myBook.Range("A2") '↓(3)転記先に貼り付ける motodata.Copy sakidata '↓(4)開いたブックを閉じる myBook.Close myName = Dir() Loop End Sub ------------------------------ mybookというキーワードを使用して、A2セルデータをコピーする構文をご教示いただけませんでしょうか。 以上、長々となってしまいましたが、何卒アドバイスの程お願いいたします。
- ベストアンサー
- Visual Basic
- エクセル 抽出マクロについて
はじめまして。マクロ初心者です。 エクセルで抽出結果を別シートにコピーしたいのですが、 抽出条件が2列にわたっています。 A B C D 日付 タイトル 分類(あ) 分類(い) 11/22 テレビ 3 2 12/15 ラジオ 1 4 11/18 雑誌 2 5 …というような感じです。 例えば分類が「2」のものを抽出したい時に、 ●シート1のあるセルに「2」と入力してマクロを実行。 ↓ ●シート2に以下のように結果をコピーして表示。 A B 日付 タイトル 11/22 テレビ 11/18 雑誌 という具合にしたいのです。(C列、D列は表示しない) データはシート3に入力されていて、今後どんどん増えていく予定です。 エクセルは2007です。 本やホームページを参考に試行錯誤したのですが、うまくいきません…。 どなたかご回答よろしくお願いいたします。
- ベストアンサー
- オフィス系ソフト
お礼
keithin 様 ありがとうございました。 tim04 様とお二方の回答を参考に解決できました。 tim04 様が時間的に早く、2回も回答していただきましたので、 ベストアンサーにさせていただきました。 機会がありましたら、またよろしくお願いします。