• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:エクセル 「値貼り付け」の結果が)

Excelの値貼り付けでセルが引っかかる問題の解決方法とは?

このQ&Aのポイント
  • Excelの値貼り付けでセルが引っかかる問題の解決方法をご紹介します。
  • セルにデータがないのに値貼り付けをすると、一部のセルが引っかかります。
  • この問題を解決するためには、値貼り付け後に「F2」を押して「Enter」を押す必要があります。

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

  • ベストアンサー
  • zap35
  • ベストアンサー率44% (1383/3079)
回答No.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 もし空白ではないセルでショートカットを押下したら、上の空白セルを探すようにするならマクロに手を加えてみてください

wolis
質問者

お礼

教えて頂いた内容で、望んでいた処理内容が完成しました。 有難うございました!

その他の回答 (3)

回答No.3

確かに、="" をコピーして「値」貼り付けしたセルには、見えない何 かが存在しますね。 =CODE(B3) や折れ線グラフでも、="" が入力されたセルと同じ結果に なります。 > セル"B3"で [F2] を押し [Enter]を押すと、ひっかからない。 どうしてもEnd(xlUp)を使いたいのでしたら、  1.値で貼り付ける。  2.貼り付けた範囲全体に [F2] → [Enter] の操作を行なう。 といった一連の動作をマクロで記述されたらいかがでしょうか。

wolis
質問者

補足

そうなんです!その「見えない何かの存在」に悩まされてます。 当初、貼り付けた範囲全体に [F2] → [Enter] の操作をマクロでの記述を検討したのですが、 私のスキルではどのようなマクロコードを記述すれば良いのか、net上からの検索すらできませんでした。 もしご存知の方いらっしゃいましたら、ご教示頂けないでしょうか。

  • konchan1
  • ベストアンサー率23% (12/52)
回答No.2

B3には" "つまり半角スペースが入っているので、「何もデータがない」ということにはならないです。。。 End+↑は、データが入っている最下のセルを指すので、それを飛ばすのは無理だと思います。 解決方法じゃなくてすみません。。。

  • imogasi
  • ベストアンサー率27% (4737/17069)
回答No.1

質問の説明が複雑で良くわからないが 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つのキーを同時押しする。

wolis
質問者

補足

早速のご回答有難うございます。 質問は簡単に書こうと思った結果、複雑になってしまったようです。 申し訳ございません。 A1のセルには確かに 式 ="" が入っているのですが、 それを値貼り付けしたB2のセルには何も入ってない状態になります。 これで状況分かりますでしょうか。 宜しくお願い致します。

関連するQ&A

専門家に質問してみよう