- ベストアンサー
メモ帳の数字を、エクセルのセルにひとつずつ自動で移したいのですが・・
お世話になります。 メモ帳(テキストファイル)に、・・・ 01・03・11,05・03・15, 08・20・25,12・18・19, と書いてあります。 ・ ←これは、キーボード位置の ”め”にある・です。 , ←これは、キーボード位置の ”ね”にある,です。 この数字を、コピペして、エクセルに貼り付けたいのですが、うまくいきません。 数字、がひとつのセルに入ってくれて、 , ←この位置で、セルを改行してほしいのです。 エクセルに貼り付けた、結果として・・・ 01 03 11 05 03 15 08 20 25 12 18 19 こんなようになればいいのですが・・・ 可能でしょうか?? よろしくお願いします。
- みんなの回答 (7)
- 専門家の回答
質問者が選んだベストアンサー
書いている間にNo4さんに同じことをアドバイスされていました。 メモ帳からExcelでは私も出来ませんが、Wordの置換を使ってExcelで読めるデータに変更するのでは駄目ですか? つまりメモ帳→Wordの置換→Excel(→はコピー貼り付け)になります。 私の方法はWord側で全て用意してからExcel側に貼り付けるだけですから試してみては。 Wordの置換方法 貼り付け後に、[Ctrl+H]キーで[置換]ダイアログを開きます。 [オプション]を使うので[オプション]ボタンで開き[あいまい検索]のチェックを外しておきます。 [特殊文字]ボタンが使えるようになりますので、開いたメニューを[置換後の文字列]で使います (1) 「・」を「タブ」にする [検索する文字列]に「・」をいれ、[置換後の文字列]に[特殊文字]の[タブ文字]を選択( ^t )して、[全て置換]ボタンで置換します。 (2) 「, 」 を「改行」にする [検索する文字列]に「、」をいれ、[置換後の文字列]に[特殊文字]の[段落記号]を選択( ^p )して、[全て置換]ボタンで置換します。 (3) 余分な改行記号を削除する [検索する文字列]に「^p^p」をいれ、[置換後の文字列]に「^p」をいれて、[全て置換]ボタンで置換します。 以上でExcelに読めるデータになるのでコピー貼り付けで挿入してください。
その他の回答 (6)
- Wendy02
- ベストアンサー率57% (3570/6232)
こんばんは。 >なにからやればいいかもわかりませんですので、別な方法で今回はやろうと思います。 ということになるから、「自信=なし」なんです。 1週間のExcelユーザーでも、記録マクロを作れるはずです。その要領で、出来た場所に、私のコードを上書きで、貼り付ければよいだけなのですが。 Auto_Open / Auto_close の両方も、同時に貼り付けて、ブックを一旦閉じて、もう一度、ブックを開ければ、ショートカットに登録されていますから、後は、メモ帳で、範囲選択、Ctrl + C で、Excelの任意のセルで、 Alt + x で、貼り付けされるのですが...。
お礼
Wendy02さん おはようございます。 すみません、エクセルを使いこなせていないので よくわかりませんでした。 エクセルが使いこなせると本当に便利だろうと 思います。 少しづつこれからも勉強してゆきますので、 よろしくお願いします。 はずかしいことに、記録マクロ、・・・ マクロすら、どのようなことなのか、 なんのことかわかりませんので。 Wendy02さん回答ありがとうございました。
- Wendy02
- ベストアンサー率57% (3570/6232)
こんばんは。 以下は、クリップボードから、Excelに貼り付ける場合のマクロです。 ただ、これは、Viual Basic Editor 画面のメニュー-ツールから、参照設定で、 Microsoft Forms x.x Object Library にチェックを入れていただくか、 または、使用しなくても、Userform 一度、出して欲しいのです。後で、削除してもよいです。そうすると、参照設定が入ります。 使ってみた感じでは、若干、スピードの遅さを感じますが、きちっとセルに入ります。本来は、配列変数のままに貼り付けたいところですが、お出しになったサンプルを使用してみた限りでは、Split 関数で正しく切れ目が入りませんので、後々、Clearn関数で不要なコードを落として、文字列にして貼り付けています。 '----------------------------------------------------- '<標準モジュール設定> Sub TextBufferPaste() '要参照設定 Microsoft Forms x.x Object Library 'または、UserForm Dim myData As DataObject Dim buf As String Dim buf2() As String Dim myLine As Variant Dim myPasteData() As String Dim L As Integer Dim U As Integer Dim i As Long Dim j As Integer Set myData = New DataObject myData.GetFromClipboard On Error Resume Next buf = myData.GetText If buf = "" Or InStr(buf, ",") = 0 Then Exit Sub On Error GoTo 0 buf2 = Split(buf, ",") Application.ScreenUpdating = False For Each myLine In buf2 myPasteData = Split(myLine, "・") L = LBound(myPasteData) U = UBound(myPasteData) ActiveCell.Offset(i).Resize(, U - L + 1).NumberFormatLocal = "@" For j = L To U ActiveCell.Offset(i, j).Value = CStr(WorksheetFunction.Clean((myPasteData(j)))) Next j i = i + 1 Next myLine Application.ScreenUpdating = True End Sub '------------------------------- '●これを起動させれば、ショートカットが設定されます。 Sub KeySetting() 'ショートカットキーを、Alt + X に設定 Application.OnKey "%x", "TextBufferPaste" End Sub Sub KeySettingOff() 'ショートカットキーを解除 Application.OnKey "%x" End Sub '----------------------------------------------------- もし、ブックを開いた時に、ショートカットが設定したいのでしたら、 Sub Auto_Open Call KeySetting End If Sub Auto_Close Call KeySettingOff End If となります。
お礼
Wendy02さん こんばんは、回答ありがとうございます。 ひゃ~、私にはともても難しくよく理解することが・・ どんな人:一般人 自信:なし って・・・ひゃ~です。 まず、なにからやればいいかもわかりませんですので、別な方法で今回はやろうと思います。 でも、回答ありがとうございました。 また、よろしくおねがいします。
- ango
- ベストアンサー率50% (6/12)
たとえば、wordでそのテキストを読み込みます。 編集→検索と置換で、 ^p(ひらがなの「へ」の逆V字とp) は改行を示すことができるので、 ^p を検索文字列の欄に入力、置換語の文字列は 空欄のまま(=置換後の文字列に何も入力しない)で置き換えるとすべての改行が消去できて 01・03・11,05・03・15,08・20・25,… になります。そこで、 , を ^p に置き換えると 01・03・11 05・03・15 08・20・25 というのは?
補足
angoさん、こんばんは。 お答え頂きありがとうございます。 ワードを初めに使うのですね。 ワードを初めに使い、 01・03・11 05・03・15 08・20・25 にしてから、エクセルで、各セルに分ける方法ですね。 ちょっと、やってみます。
こんにちは。 普通、メモ帳の、保存は「txt」ですが、ファイルの種類を「すべてのファイル」を選び、ファイル名の所を「XXXX.csv」←にして保存した物を←そのファイルをクリックすれば「エクセル」に一応自動で入りますので、後は必要に応じて手直しすれば何とか成りませんか?
補足
situmonnさん ありがとうございます。 おもしろいことになりました。 csvとすると、エクセルで、直接読めるのですね。 そしたら、エクセルで、・・・ 02・09・12|05・12・18| となりました。 これを、・・・ 02 09 12 05 12 18 とできれば いいのですが・・・・ どうでしょうか?
- kouhukudou
- ベストアンサー率40% (17/42)
・で区切ってセルに入れていくのはできますが、 改行はどうやればいいのか分からないのですが…。 いちおう・で区切る方法だけ書いておきます。 まずエクセルを立ち上げます。 [ファイル→開く]で、希望のメモ帳のデータを選びます。 (なお、この時点でメモ帳のデータが見当たらない、という場合は、下の方にある[ファイルの種類]というところで[全てのファイル]を選んでください。) すると、テキスト ファイル ウィザート1/3 というのが出てきましたでしょうか? [カンマやタブなどの区切り文字によって・・・] を選び、[次へ] [区切り文字 その他(・)]を選ぶ [完了]です。 でもこれだと「、」で改行はできないんですよね。 メモ帳の段階で手作業で改行するくらいしか思いつきません。Ctrl+Fで検索しながら改行とか?うーん、思いつきません。すみません。
補足
kouhukudouさん お世話になります。 改行も、なんとか出来れば最高なんでうけど。 セルに分けてくれる方法、ありがとうございます。
- char2nd
- ベストアンサー率34% (2685/7757)
01,03,11 05,03,15 08,20,25 12,18,19 と記述し、エクセルの読込みでファイル形式を「テキストファイル」を選択、その後のウィザードで 1.元データの形式を「カンマやタブなどの区切り文字によってフィールドごとに区切られたデータ」 2.区切り文字を「カンマ」 3.列データ形式を指定 で読み込めます。なお、改行は元データであらかじめ行っておく必要があります。
補足
char2ndさん ありがとうございます。 改行も、出来るといいのですが、難しいのでしょうか。
お礼
enunokokoroさん おはようございます。 朝起きて、落ち着いて、やってみました。 出来ました。 完全に目的まで出来ました。 よかったです。 ありがとうございました。 いい朝です。。
補足
皆様のおかげで、かなり近いところまできました。 ありがとうございます。 まだ、最終の目的まではたどり着いていませんが また明日、やりたいと思います。 夜、おそくまで、ありがとうございました。 enunokokoroさん、明日また来ますので よろしくお願いします。