人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

次の1・2を「簡単な方法」で実現できる操作を詳しく説明できる方、お願いします。200P進呈!
1)Excelで、A1、A2・・・と縦のセルに単語が1個ずつ入っています。これを単語間にスペースを入れて、メモ帳(ワード等何でもいいです)に1行で貼り付けする。セルの数は100以上を想定するので、「=A1+A2・・」のように設定して貼り付けなんてのは論外。
(例)セルA1に「私は」、セルA2に「男です」と入っている場合、メモ帳に「私は 男です」と改行なしで貼り付ける。

2)1と逆に、テキストファイルで1単語ずつスペースで区切られている1文を、ExcelのA1、A2・・・と縦のセルに1個ずつさっと貼り付ける。


●質問者: keronimo
●カテゴリ:コンピュータ
✍キーワード:セル テキスト ファイル メモ帳 単語
○ 状態 :終了
└ 回答数 : 6/6件

▽最新の回答へ

1 ● hissssa
●10ポイント

秀丸エディタ等で正規表現を使えるテキストエディタを使えばですが・・・

?その処理をしたい範囲を選んでコピーし、新規に開いたエディタに貼り付ける。その後、エディタの文字列置換で正規表現を有効にし、改行コードをスペースに置換する(置換元に"\n"、置換先に" "を記述)。

これで全体がスペース区切りの1行になるので、それをコピーして目的のWord等に貼り付ける。

?その処理をしたい行を選んでコピーし、新規に開いたエディタに貼り付ける。その後、エディタの文字列置換で正規表現を有効にし、スペースを改行コードに置換する(置換元に" "、置換先に"\n"を記述)。

これで全体が単語毎に改行されるので、それをコピーしてExcel上で先頭にしたい場所に貼り付ける。

これで一応いけますよ。

◎質問者からの返答

間違ってはいませんが・・・


2 ● SALINGER
●20ポイント

Excelからクリップボードに書き込むマクロとクリップボードから読み込むマクロを作ってみました。


まず、以下のマクロを使うためにMicrosoft Forms 2.0 Object Libraryの参照設定をしてください。

http://pc.k-solution.info/programming/vba/excelvba1.aspx


1)選択したセルから下に空白が出るまでのセルを、間に空白を入れて連結してクリップボードにコピーするマクロ。

Sub setCB()
 Dim r As Long
 Dim str As String
 Dim myDO As New DataObject
 str = Selection.Value
 r = Selection.Row + 1
 While Cells(r, Selection.Column).Value <> ""
 str = str & " " & Cells(r, Selection.Column).Value
 r = r + 1
 Wend
 myDO.Clear
 myDO.SetText str
 myDO.PutInClipboard
End Sub

2)クリップボードの文字列を空白でばらばらにして、選択したセルから下方向に貼り付けるマクロ。

Sub getCB()
 Dim myDO As New DataObject
 Dim myCF As Variant
 Dim str As Variant
 Dim i As Integer
 
 myCF = Application.ClipboardFormats
 If myCF(1) = True Then Exit Sub
 If myCF(1) = xlClipboardFormatText Then
 myDO.GetFromClipboard
 str = Split(myDO.GetText, " ")
 For i = 0 To UBound(str)
 Selection.Offset(i, 0).Value = str(i)
 Next i
 End If
End Sub

それぞれのマクロにショートカットを割り当てればより便利に使うことができると思います。

◎質問者からの返答

このマクロ使えばいいんでしょうけど、この作成自体が「簡単な方法」ではないですよね。


3 ● grape2
●0ポイント

(1)を回答 ((2)は回答なし)

セルB1に「=" "」を入力。 セルC1に「=A1&B1」を入力。 B1、C1をコピー&ずーっと下の行まで選択してペースト。 C列全体を選択&コピー。 メモ帳を開く&ペースト。 メモ帳でCTRL+Aしてコピー。 ワードを開く&ペースト。 改行をはずす。(はずし方は: http://www.relief.jp/itnote/archives/000269.php)。

◎質問者からの返答

わからん場合は回答しないように。

(1)面倒です。


4 ● hengsu
●0ポイント

Excelだけで済ませる方法。

あまり、ささっという感じではないですが。

?Excelで縦の列を選択コピーしてから、「形式を選択して貼付け」を選んで、下にある「行列を入れ替える」のオプションにチェックを付けて、空白のシートにペーストする。そのシートをテキストで保存する。

?テキストを、Excelで開く際に、区切りをスペースにして、開いて、上と同じく、コピーペースとの際に、行列を入れ替える。

◎質問者からの返答

6の方に近いですが、結果が違いますよね。


5 ● h_i
●0ポイント

やり方はいろいろありますが、次のようなものはいかがでしょうか?(作業時間、約1分ぐらい)

※手順2はExcel2007の場合


1)手順1: B2 に「=A1&" "&B1」を入力

手順2: B2をB列全体にコピー(再下段が求める形式)

2)手順1: テキストをExcelにコピー

手順2: データ → 区切り位置 で横に並べる

手順3: コピー → 行列を入れ替えて貼り付け


1-5件表示/6件
4.前の5件|次5件6.
関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ