Excelセルの内容をダブルクリックせずに編集できますか?


28

Excelで手動でクレンジングする必要がある約10,000の名前/アドレスのリストがあります(楽しい!)。想像できるように、ほとんどすべてのセルをダブルクリックして編集するには、ドラッグするだけです。そして、セルの上部/下部に少しでも近づいた場合、ワークシートの上部/下部に到達することにイライラします!

「編集モード」のままにするようにExcelに指示する方法はありますか?そのため、セルをクリックすると(またはさらに良いことに、スクロールダウンして)、自動的にコンテンツを編集できますか?入力を開始することはできません。セル全体が上書きされるため、多くの場合、1〜2文字を編集するだけです。ありがとう。


1
それは汚い回避策ですが、CSVに変換し、コンマで分割し、メモ帳または他のテキストエディターで編集するのはどうでしょうか。
グロノスタジ

9
この「クレンジング」を実行できるスクリプトまたは機能はありませんか?同様の状況に直面したとき、Excelからすべてのデータを取得し、小さな正規表現スクリプトで正常に実行しました。
モーセ

19
モーセの言うことをはっきりと見てください。あなたがやっている場合は、何も手動万回、あなたは間違ってそれをやっています。
タナーフォークナー

@Moses-残念ながらいいえ。これらのエントリはデータベースから取得され、主に「アドレス名」フィールドで作成されますが、データは非常に一貫性がありません。「スミスジョンミスター&スミスジョーンミセス」(「ミスター&ミセスJスミス」)のように言う人もいますが、他の人は空白などです。これは基本的に、非常に大きなプロジェクトの始まりです。
デビッドガード

1
@datatoo-名前は、アドレスで使用できるように、読み取り可能な方法である必要があります。複数のデータベースが長年にわたって1つにマージされているため(そして、人々が怠けているため)、データはセル内で矛盾しています。参照するセルがありません。プロジェクトのこの部分が完了すると、データを挨拶文、イニシャル、姓などに分割します。この時点で自動化を使用できるようになります。
デビッドガード

回答:


20

これを行うには、次のマクロを使用します。F2スプレッドシートで選択を変更するたびに、Excelがヒットするかのように動作します。

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    SendKeys "{F2}"
End Sub

ヒットAlt+ F11、VBAエディタを起動し、あなたがしたいワークシートが表示されるまで、左側のツリービューを展開し、そのワークシートをダブルクリックし、そこに上記のコードを貼り付けます。

これを無効にするに'は、コード行の前に追加して、次のようなコメントにします。

'SendKeys "{F2}"

または、完全に削除すると思います。


enterセルの移動に使用している場合(これが主な目的だと思われます)、セルの編集がすぐに開始され、移動がはるかに速くなるため、これも非常にうまく機能します。


ところで、これを尋ねてくれてありがとう、私はこれをかなりの量のデータ操作にとってより良い方法であるので、私自身これをかなり使用するつもりです!
エンダーランド

パーフェクト!これはまさにこのワークブックに欲しいものです。どうもありがとう。私が気づいたわずかな奇妙な点は、「Shift + Tab」を使用してセルを右から左に移動する場合、「Shift」を押したままにするのではなく、毎回「Shift」を押す必要があることです。
デビッドガード

3
この方法でVBAを使用すると、欠点があることに注意してください。最も顕著なのは、シート上の元に戻す機能を排除することです。そのため、誤ってデータを誤って削除した場合は、バックアップを作成することをお勧めします。また、矢印キーはシートをナビゲートするために機能しなくなりました。
エクセル

3
@Excellllには優れた点があります。元に戻す機能が失われます。このような単純なマクロの場合、それは価値がないようです。代わりにAutoHotKeyの使用を検討してください。Enter、Shift-Enter、Tab、またはShift-Tabの後にF2を押すように指示できます。(そして、あなたはそれがエクセルでも動作することを確認することができます。)
ベンシェパード

19

F2キーを介してキーボードから編集モードに入ることも、ポップアップ/プロンプトを持つVBマクロを作成することもできます。厳密に言えば、F2モードを維持するオプションはありませんが、1行下に移動してセルに移動する小さなスクリプトをExcelに書き込むことができます(このマクロで「戻り/タブ」を新しい列に置き換えます) 。

編集:別のオプションは、この種のデータによりアクセスしやすいユーザーインターフェイスを備えた別のプログラムでこれらの編集を管理することです。たとえば、このデータをすべてAccessなどのデータベースプログラムにプッシュし、UIを使用してデータフィールドを管理します。

ただし、これらすべてが主な問題を回避します。これは、手動でのクリーニングを必要とする10,000行のデータがある理由です。それらすべてを支配する単一のスクリプトを書くのが面倒すぎる場合は、テーブルを意味のあるグループに分けて、そのように取り組むのはいかがですか?10,000個のデータフィールドを手動で処理する必要があり、回避策がないことを想像するのは困難です。


1
F2のヒントをありがとう、それは助けになります。このスプレッドシートのリターン/タブキーをその関数で上書きするようにします。ありがとう。
デビッドガード

@DavidGard問題ありません。また、私はあなたのために働くかもしれない第三の選択肢で私の答えを更新しました。
モーセ

3
+1...why is there 10,000 rows of data that require manual cleaning?
Icode4food

7

私が知っている唯一の方法はを押すことF2です。Return/ Enterを押して現在のセルから移動するまで、それは毎回機能します。


2

可能性のある答えは、「ダブルクリックする中マウスボタン(またはホイール)」と呼ばれるプログラムです。コードプロジェクトで利用できます。アクティブになっている間は、マウスの中ボタンをシングルクリックすると、コンピューターにダブル左クリックが送信されます。


0

「F2」を押すのが最良の選択かもしれませんが、編集モードのままではありません。実行する編集がわかっている場合は、検索/置換(Ctrl + F)も非常に便利で、時間を大幅に節約できます。さらに、ここで 200を超えるExcelキーボードショートカットのリストを見つけることができます。


0

列全体を選択し、検索と置換を使用します。検索と置換の両方に空のスペースを置くだけで更新されます-このようにExcelを欺くことができます


0

= concatenate式を試してください。2つのセルの情報を結合します。次に、値をコピーして貼り付けることができます。


0

セルの書式設定のパラメータを確認します...保護タブで非表示のチェックマークがセルにある場合、セルの記述テキストを編集するオプションは提供されません。ボックスの内容を表示し、必要に応じて編集するには、チェックボックスをオフにする必要があります。


これは、質問で尋ねられたものに実際には答えません。もう少し担当者がいれば、コメントに役立つ情報を追加できます。
fixer1234

0

これは私にとって最も簡単な解決策でした。

http://ccm.net/forum/affich-172180-unable-to-change-date-format-in-excel

  1. まず、データの列に必要な特定の日付に形式を変更します。
  2. 列を選択した状態で、「コピー」を選択します
  3. メモ帳を開きます(単語ではなく、メモ帳である必要があります)
  4. データをメモ帳に貼り付けます。
  5. メモ帳で、CTRL + A(すべてのセルを選択)を押してから、CTRL + C(データをコピー)を押します
  6. データをExcelに貼り付けます。
  7. サイズが同じではないということを言って、とにかく貼り付けます。

0

数式やExcelでしかできないことをせずにセルを編集する場合は、これらのセルをコピーして、通常の列または表としてWord文書に貼り付けてください。これらのテーブルのデータを自由に編集してから、Excelの元の場所にコピーして戻します。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.