web-dev-qa-db-ja.com

空白以外の隣接セルを持つすべてのセルをコピー/入力するためのExcelのキーボードショートカット

私は、セルの右下隅にある「ハンドル」をダブルクリックすることによって利用可能な機能を複製するキーボードショートカットを探しています。他社製ソフトウェアやカスタムマクロを作成しなくてもこれを実現できるものはありますか?

43
Iszi

私はあなたが望むものを達成するために二つの方法をあなたに提供します。残念ながら、Excelには自動入力用のオールインワンキーボードショートカットが用意されていないため、どちらの方法にも注意が必要です。両方の方法を試してから、どちらが自分に最適かを判断することを強くお勧めします。これら2つの方法以外では、マクロやアドインモジュールを使用せずに、あなたが求めていることを達成できるとは思いません。あなたがマクロのルートをたどるなら、どんなAutoFillオブジェクトのRangeメソッドもあなたが必要とするすべてであるべきです。


方法1(代わりの方法ですが、noのマウス操作で動作します)

これを達成するためのもう1つの方法は、フィルダウンショートカットとselect all in rangeの組み合わせを使用することです。セルにデータを入力したら、を押します。 Ctrl+Shift+End 現在のセルから自動入力される範囲の最後までを選択します。次にを押します Ctrl+D 一番上のセルから範囲全体に「塗りつぶす」。

方法2(私のお勧めの方法、ワンタイムマウス操作)

下方向に自動入力するセルを入力したら、通常どおり右下隅をダブルクリックします。データを入力してEnterキーを押すだけであれば、「自動入力」ステップを繰り返すには、を押して繰り返すことができます。 Ctrl+Y

これはマウスを使う必要があることを意味しますが、はじめてだけです。あなたがデータを入力するためだけに使用している限り、その後の作業はすべてキーボードを使って行うことができます(つまり、コンテキストメニューボタンを使って何かを変更することはありません)。


最初の方法には小さな警告があります - あなたのビュー/カーソルはスプレッドシートの一番下に移動するでしょう(これは Ctrl+Y 方法)。あなたが押すことができます Home カーソルをすばやく戻すためのキーです。

34
Breakthrough

Autofill Handleのより短いキーバインドについても興味があります。しかし、これもうまくいきます:

塗りつぶしシリーズのキーシーケンス

空白のセルと「シード」(自動入力シリーズの基準となる初期値を含むセル)を含めて、シリーズを拡張する範囲全体を選択します。

押す ALT >> H >> F >> I >> S >> Alt + F >> Enter

enter image description here

カスタムリストを作成/編集するには、を押します。 Alt + FPopularに移動し、カスタムリストの編集をクリックします。カスタムリストは、オートフィルハンドルがセルに入力する方法の基礎として機能します。

記入する

CtrlD

注意

これらのキーの組み合わせは、英語のExcelでのみ機能します。他の言語でExcelを使用している場合は、次の言語で該当する言語のキーの組み合わせを検索してください。Home ribbon> Fill編集リボンセクション)> シリーズ...。ダイアログボックスでAutoFillを選択してEnterを押します。入力キーの組み合わせも異なる場合があります(CtrlD).

8
Ellesa

これまでのところ、私の最善の解決策は以下のとおりです。

  1. CTRL-C ソースセルの

  2. CTRL-G (go)列の最後のセルを入力

  3. SHIFT-ENTER (そのセクション全体をハイライトします)

  4. ENTER (すべてのセルに値を貼り付けます)

Excel 2007/2013/365で動作します

2
Randall Hodges
  1. データが使用可能になる最初の行/セルからデータが終了する最後の行/セルまで、データを塗りつぶす範囲を選択します。
  2. 押す Ctrl + G (に行く)
  3. スペシャルに行き、利用可能なオプションから「空白」を選択します。 OKを押してください。
  4. 現在いるセル(範囲内の空白のセルを選択したセル)に、前のセルを参照する式「= +上向き矢印」を入力し(セルA3の場合は「= A2」と入力)、を押します。 Ctrl + Enter
  5. コピー&ペーストで範囲全体をもう一度選択して、上記の式を値に変換します。
2
user428824

上記のすべての答えは、セルの右下隅をダブルクリックして、隣接する列に基づいて列を目的の行数に自動入力するのと同じ動作を模倣するものではありません。 VBAは、次のコードを使用して、キーボードのみでこれを実現する唯一の方法です。

Sub AutoFill_Column()

Selection.AutoFill Destination:=Range(Selection, Cells(ActiveCell.SpecialCells(xlLastCell).Row, Selection.Column))

End Sub

同じことは、(行の上の隣接データに基づいて)行を自動入力する場合にも実現できます。

Sub Autofill_Row()

Selection.AutoFill Destination:=Range(Selection, Cells(Selection.Row, ActiveCell.Offset(-1, 0).End(xlToRight).Column))

End Sub
0
Daniel Ohlsson

式を入力した後で、コピー、ハイライト、貼り付けをすることもできます。この方法では、キーボードを使うだけでマウスクリックはできませんでした。

ダブルクリックする方が速いかもしれませんが。好みによります。

たとえば、私はVLOOKUPをしています。最初のルックアップ値はセルB2にあります。 1. A2に計算式を入力しました。 2.セルA2(Ctrl + c)をコピーしました。3.次に、(Ctrl + Shift +下)または(Shift +下)で数式を入力する範囲を強調表示しました。 + v)

これを行うと、セルA3の数式のルックアップ値はB3、A5の値はB5などになります。最初に数式を調整するときは、スポットチェックを実行してください。

0
Rachel Z

隣接する列にデータがあると仮定して、私は次のようにします(他の列は塗りつぶされる列の左側に隣接していると仮定します)。

塗りつぶしハンドルをダブルクリックするセルを選択します。

その後:

  1. 他のデータを含む列に変更するには、Leftを押します。
  2. データの最後に移動するにはCtrl+Downを押してください
  3. 移入される列に戻るためにRightを押してください
  4. 塗りつぶしの値を持つセルまでを選択するには、Ctrl+Shift+Upを押します。
  5. 記入するにはCtrl+Dを押してください(下)

押されるキーは常に同じなので、これをキーボードマクロに置くことができます。

同じことをする別のシーケンス:LeftEndDownRightEndShift+UpCtrl+D.

0
stevepastelan

Mac上で価値があるものとして、私はKeyboard Maestroを使って一連のキーコマンドを実行しているので、マウスを使う必要はありません。

順序は次のとおりです。

  1. 下矢印(これら2つのコマンドはコピーを正しく機能させます)
  2. 上矢印
  3. コマンド+ c
  4. 左矢印(右を指すように右矢印に変更)
  5. Command + Shift +下矢印
  6. Option + Tab(手順4で右を参照した場合は、option + shift + tabに変更)
  7. コマンド+ V

それはほぼ瞬間的で、ほとんどの場合コピーしたいセルの右下部分をダブルクリックしたのと同じことをします。私が知っている唯一の違いは、あなたが左右に何もない列にいる場合、それが何を埋めているかを優先するということです。

ここでの利点は、これらのコマンドを使用して2つのショートカットを作成し、どちら側から参照を埋めるかを選択できることです。

0
skillet

@ Ellesaの回答に記載されているシリーズ(Windows)ダイアログボックスを表示するための2010年より前の短いキーボードショートカットは次のとおりです。

ALT、 E、 I、 S

それは1キーストロークだけ短くなりますがそれでも余分なストロークです。

0
atc