• ベストアンサー

メモ帳の数字を、エクセルのセルにひとつずつ自動で移したいのですが・・

お世話になります。 メモ帳(テキストファイル)に、・・・ 01・03・11,05・03・15, 08・20・25,12・18・19, と書いてあります。 ・ ←これは、キーボード位置の ”め”にある・です。 , ←これは、キーボード位置の ”ね”にある,です。 この数字を、コピペして、エクセルに貼り付けたいのですが、うまくいきません。 数字、がひとつのセルに入ってくれて、 , ←この位置で、セルを改行してほしいのです。 エクセルに貼り付けた、結果として・・・ 01 03 11 05 03 15 08 20 25 12 18 19 こんなようになればいいのですが・・・ 可能でしょうか?? よろしくお願いします。

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

  • ベストアンサー
回答No.6

書いている間にNo4さんに同じことをアドバイスされていました。 メモ帳からExcelでは私も出来ませんが、Wordの置換を使ってExcelで読めるデータに変更するのでは駄目ですか? つまりメモ帳→Wordの置換→Excel(→はコピー貼り付け)になります。 私の方法はWord側で全て用意してからExcel側に貼り付けるだけですから試してみては。 Wordの置換方法 貼り付け後に、[Ctrl+H]キーで[置換]ダイアログを開きます。 [オプション]を使うので[オプション]ボタンで開き[あいまい検索]のチェックを外しておきます。 [特殊文字]ボタンが使えるようになりますので、開いたメニューを[置換後の文字列]で使います (1) 「・」を「タブ」にする [検索する文字列]に「・」をいれ、[置換後の文字列]に[特殊文字]の[タブ文字]を選択( ^t )して、[全て置換]ボタンで置換します。 (2) 「, 」 を「改行」にする [検索する文字列]に「、」をいれ、[置換後の文字列]に[特殊文字]の[段落記号]を選択( ^p )して、[全て置換]ボタンで置換します。 (3) 余分な改行記号を削除する [検索する文字列]に「^p^p」をいれ、[置換後の文字列]に「^p」をいれて、[全て置換]ボタンで置換します。 以上でExcelに読めるデータになるのでコピー貼り付けで挿入してください。

nariyuki
質問者

お礼

enunokokoroさん おはようございます。 朝起きて、落ち着いて、やってみました。 出来ました。 完全に目的まで出来ました。 よかったです。 ありがとうございました。 いい朝です。。

nariyuki
質問者

補足

皆様のおかげで、かなり近いところまできました。 ありがとうございます。 まだ、最終の目的まではたどり着いていませんが また明日、やりたいと思います。 夜、おそくまで、ありがとうございました。 enunokokoroさん、明日また来ますので よろしくお願いします。

その他の回答 (6)

  • Wendy02
  • ベストアンサー率57% (3570/6232)
回答No.7

こんばんは。 >なにからやればいいかもわかりませんですので、別な方法で今回はやろうと思います。 ということになるから、「自信=なし」なんです。 1週間のExcelユーザーでも、記録マクロを作れるはずです。その要領で、出来た場所に、私のコードを上書きで、貼り付ければよいだけなのですが。 Auto_Open / Auto_close の両方も、同時に貼り付けて、ブックを一旦閉じて、もう一度、ブックを開ければ、ショートカットに登録されていますから、後は、メモ帳で、範囲選択、Ctrl + C で、Excelの任意のセルで、 Alt + x で、貼り付けされるのですが...。

nariyuki
質問者

お礼

Wendy02さん おはようございます。 すみません、エクセルを使いこなせていないので よくわかりませんでした。 エクセルが使いこなせると本当に便利だろうと 思います。 少しづつこれからも勉強してゆきますので、 よろしくお願いします。 はずかしいことに、記録マクロ、・・・ マクロすら、どのようなことなのか、 なんのことかわかりませんので。 Wendy02さん回答ありがとうございました。

  • Wendy02
  • ベストアンサー率57% (3570/6232)
回答No.5

こんばんは。 以下は、クリップボードから、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 となります。

nariyuki
質問者

お礼

Wendy02さん こんばんは、回答ありがとうございます。 ひゃ~、私にはともても難しくよく理解することが・・ どんな人:一般人 自信:なし って・・・ひゃ~です。 まず、なにからやればいいかもわかりませんですので、別な方法で今回はやろうと思います。 でも、回答ありがとうございました。 また、よろしくおねがいします。

  • ango
  • ベストアンサー率50% (6/12)
回答No.4

たとえば、wordでそのテキストを読み込みます。 編集→検索と置換で、 ^p(ひらがなの「へ」の逆V字とp) は改行を示すことができるので、 ^p を検索文字列の欄に入力、置換語の文字列は 空欄のまま(=置換後の文字列に何も入力しない)で置き換えるとすべての改行が消去できて 01・03・11,05・03・15,08・20・25,… になります。そこで、 , を ^p に置き換えると 01・03・11 05・03・15 08・20・25 というのは?

nariyuki
質問者

補足

angoさん、こんばんは。 お答え頂きありがとうございます。 ワードを初めに使うのですね。 ワードを初めに使い、 01・03・11 05・03・15 08・20・25 にしてから、エクセルで、各セルに分ける方法ですね。 ちょっと、やってみます。

noname#22689
noname#22689
回答No.3

こんにちは。 普通、メモ帳の、保存は「txt」ですが、ファイルの種類を「すべてのファイル」を選び、ファイル名の所を「XXXX.csv」←にして保存した物を←そのファイルをクリックすれば「エクセル」に一応自動で入りますので、後は必要に応じて手直しすれば何とか成りませんか?

nariyuki
質問者

補足

situmonnさん ありがとうございます。 おもしろいことになりました。 csvとすると、エクセルで、直接読めるのですね。 そしたら、エクセルで、・・・ 02・09・12|05・12・18| となりました。 これを、・・・ 02 09 12 05 12 18 とできれば いいのですが・・・・ どうでしょうか?

回答No.2

・で区切ってセルに入れていくのはできますが、 改行はどうやればいいのか分からないのですが…。 いちおう・で区切る方法だけ書いておきます。 まずエクセルを立ち上げます。 [ファイル→開く]で、希望のメモ帳のデータを選びます。 (なお、この時点でメモ帳のデータが見当たらない、という場合は、下の方にある[ファイルの種類]というところで[全てのファイル]を選んでください。) すると、テキスト ファイル ウィザート1/3 というのが出てきましたでしょうか? [カンマやタブなどの区切り文字によって・・・] を選び、[次へ] [区切り文字 その他(・)]を選ぶ [完了]です。 でもこれだと「、」で改行はできないんですよね。 メモ帳の段階で手作業で改行するくらいしか思いつきません。Ctrl+Fで検索しながら改行とか?うーん、思いつきません。すみません。

nariyuki
質問者

補足

kouhukudouさん お世話になります。 改行も、なんとか出来れば最高なんでうけど。 セルに分けてくれる方法、ありがとうございます。

  • char2nd
  • ベストアンサー率34% (2685/7757)
回答No.1

01,03,11 05,03,15 08,20,25 12,18,19  と記述し、エクセルの読込みでファイル形式を「テキストファイル」を選択、その後のウィザードで 1.元データの形式を「カンマやタブなどの区切り文字によってフィールドごとに区切られたデータ」 2.区切り文字を「カンマ」 3.列データ形式を指定 で読み込めます。なお、改行は元データであらかじめ行っておく必要があります。

nariyuki
質問者

補足

char2ndさん ありがとうございます。 改行も、出来るといいのですが、難しいのでしょうか。

関連するQ&A