- ベストアンサー
Excelの値貼り付けでセルが引っかかる問題の解決方法とは?
- Excelの値貼り付けでセルが引っかかる問題の解決方法をご紹介します。
- セルにデータがないのに値貼り付けをすると、一部のセルが引っかかります。
- この問題を解決するためには、値貼り付け後に「F2」を押して「Enter」を押す必要があります。
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
エクセルでは「データがない」のと「Null値が入っている」のは見かけ上は同じように見えても別に扱われます 試しにB2セルのデータをDELETEキーで削除してから、C2セルに =COUNTA(B2) と入力して、C3にもコピーしてみてください C2の結果は「0」、C3の結果は「1」になるはずです。 つまりエクセルはB3に「値が存在する」と認識しているのです。 なので、Ctrl+↑でカーソルを飛ばしてもB3セルで止まります。 (これはVBAで Range("B65536").End(xlUp) でも同じ) >データの入っているセルのみEnd(xlUp)に引っかかるようにする これはVBAで「今あるカーソルから上方向を検索してNull値以外のセルをアクティブにする」ようにしなければなりません。 それは例えばこんなマクロになります。ショートカットキーを割り当てればCtrl+↑のように使えます。でも空白でないセルを探すだけの機能しかないので、このマクロだけではCtrl+↑の代用にはならないでしょう。 Sub Macro1() Dim idx As Long With ActiveCell If .Row > 1 Then For idx = .Row - 1 To 1 Step -1 If Len(Cells(idx, .Column)) > 0 Then Cells(idx, .Column).Select Exit For End If Next idx If idx = 0 Then Cells(1, .Column).Select End If End If End With End Sub もし空白ではないセルでショートカットを押下したら、上の空白セルを探すようにするならマクロに手を加えてみてください
その他の回答 (3)
- misatoanna
- ベストアンサー率58% (528/896)
確かに、="" をコピーして「値」貼り付けしたセルには、見えない何 かが存在しますね。 =CODE(B3) や折れ線グラフでも、="" が入力されたセルと同じ結果に なります。 > セル"B3"で [F2] を押し [Enter]を押すと、ひっかからない。 どうしてもEnd(xlUp)を使いたいのでしたら、 1.値で貼り付ける。 2.貼り付けた範囲全体に [F2] → [Enter] の操作を行なう。 といった一連の動作をマクロで記述されたらいかがでしょうか。
補足
そうなんです!その「見えない何かの存在」に悩まされてます。 当初、貼り付けた範囲全体に [F2] → [Enter] の操作をマクロでの記述を検討したのですが、 私のスキルではどのようなマクロコードを記述すれば良いのか、net上からの検索すらできませんでした。 もしご存知の方いらっしゃいましたら、ご教示頂けないでしょうか。
- konchan1
- ベストアンサー率23% (12/52)
B3には" "つまり半角スペースが入っているので、「何もデータがない」ということにはならないです。。。 End+↑は、データが入っている最下のセルを指すので、それを飛ばすのは無理だと思います。 解決方法じゃなくてすみません。。。
- imogasi
- ベストアンサー率27% (4737/17069)
質問の説明が複雑で良くわからないが ENDキーの後の↑は、式で空白セルを参照していても(値は0なので)、最下行であればにそこを指す。=""と入れてもそこで止まる。 それを飛ばして最下を一発で指す操作は無いと思う。 行番号を出すなら B列のB1:B10の範囲内の例で =MAX((B1:B10<>"")*(ROW(B1:B10))) と入れて、SHIFT,CTRK,ENTERの3つのキーを同時押しするで求められルもので良いのかな。 値が0でも空白でもない最下行を求める =MAX(((B1:B10<>"")*(B1:B10<>0))*(ROW(B1:B10))) SHIFT,CTRK,ENTERの3つのキーを同時押しする。
補足
早速のご回答有難うございます。 質問は簡単に書こうと思った結果、複雑になってしまったようです。 申し訳ございません。 A1のセルには確かに 式 ="" が入っているのですが、 それを値貼り付けしたB2のセルには何も入ってない状態になります。 これで状況分かりますでしょうか。 宜しくお願い致します。
お礼
教えて頂いた内容で、望んでいた処理内容が完成しました。 有難うございました!