[[20200810111233]] 『空白削除』(ゆみ) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『空白削除』(ゆみ)

こんにちは
お世話になります
ご教示いただけましたら幸いです
お手数おかけしますが何卒よろしくお願いします

X21〜X38まで下記のような関数が入力されてます

=IF(X2<>"",X2,IF(Y2<>"",Y2,IF(Z2<>"",Z2,IF(AA2<>"",AA2,IF(AB2<>"",AB2,"")))))

X21〜X28までコピーしてAD21〜値だけ貼り付けした時 Ctrl + Gで空白セル選択した時 空白セル該当しません  と出てきます

そこでお尋ねします
X21〜X28までコピーしてAD21〜 空白を無視して上詰めで張り付ける方法を
ご教示ください

< 使用 Excel:Excel2010、使用 OS:Windows10 >


 ="" の数式をコピーして値だけ張り付けた場合、完全な空白ではなく
 長さ0の空白文字が張り付きます。
 このままでは、ジャンプ空白セルで選択できません。
 あえて、空白にするには該当セル範囲を選択(1列単位)、データ→区切り位置
 そのままOK。
 これで、空白文字が空白になります。
 ただ、文字の数字等は、数値に置き換えられます。

 普通に検索で検索文字、無記入で検索すれば検索できますから、
 これで、選択して消すのもありかと。

(Why) 2020/08/10(月) 11:49


 衝突しましたがそのままアップします。

 数式の結果がブランクでも、長さゼロの文字列ですので
 空白セルではありません。

 いろんな方法があると思いますが、ソートやオートフィルタで
 長さ0の文字列のセルを集めて削除するとか、マクロで""のセル
 を削除とかの方法があります。
(OK) 2020/08/10(月) 11:54

Why様

ありがとうございます
疑問解消で助かりました

色々てま考えると
マクロ処理にしました
マクロ 苦手なので
関数だけで行きたかったんですけど

お手数おかけしました

Sub Macro21()

  Range("X21:X38").Copy
    Range("AD21").PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
With Range("Ad21:Ad38")
.Copy
Range("Ad21").PasteSpecial (xlValues)
.TextToColumns Destination:=Range("Ad21")
.SpecialCells(xlConstants).Copy Destination:=Range("ae21")
End With
   Range("AE21:AE38").Copy
    Range("C26").PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=True

End Sub

(ゆみ) 2020/08/10(月) 11:55


OK様

アドバイスありがとうございました
(ゆみ) 2020/08/10(月) 12:08


 いまさらですが
 range("AD21:AD38").value = range("X21:X38").value
 こういうので良いんじゃないですかね?
 長さ0の文字列は、ブランクに置き換えられるし。
(Why) 2020/08/10(月) 12:45

Why様

わざわざありがとうございます

勉強になります

(ゆみ) 2020/08/10(月) 12:51


コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.