• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:指定文字のみセルコピーする方法)

指定文字のみセルコピーする方法

このQ&Aのポイント
  • 指定した文字のみを含むセルを別のシートにコピーしたい場合、VBAを使用することができます。
  • ただし、既存のセルに記号が入力されている場合、そのまま保持するため、注意が必要です。
  • 一部のセルには空白が含まれている場合、コピー先のシートでも空白として保持することができます。

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

  • ベストアンサー
  • queuerev2
  • ベストアンサー率78% (96/122)
回答No.3

そうですか。うまくいきませんか。 もっと検討したいところですが、画像のシートが小さすぎて見えないので困っています。 補足にて詳しく説明いただけないでしょうか。 あるいはいっそのことこの質問を締め切ってもっと見やすい画像を用意して再質問していただいても結構です。 よろしくお願いします。

kuma0220
質問者

お礼

ありがとうございます。おっしゃる通り改めて質問しましたのでよろしくお願いします。

その他の回答 (2)

  • queuerev2
  • ベストアンサー率78% (96/122)
回答No.2

質問者様の画像を見直して考えてみたのですが、おそらくsheet2のA14:A18にA,C,F,Hが入っていて、それをWorksheetFunction.CountIf関数を使って判別しているのですね。 さらによく見ると、sheet2にボタンがあるので、それをクリックすることでこのMacro9が起動し、つまり起動時にアクティブになっているのはsheet2なのですね。 画像が小さく見づらかったのでよく見なかったために、間違えてsheet1のA14:A18であると思ってしまい、不要な修正を加えてしまいました。 申し訳ありません。 修正するところですが、 If WorksheetFunction.CountIf(Worksheets("Sheet1").Range("A14:A18"), r.Value) Then 'Sheet1以外がアクティブでも正常に動作するようにシートの指定を追加 を元の If WorksheetFunction.CountIf(Range("A14:A18"), r.Value) Then に戻してください。 (あるいは、この部分のSheet1をSheet2に変更してください。 おそらくこれでうまくいくと思います。 うまくいかない場合はまた補足いただければ検討します。

kuma0220
質問者

お礼

ありがとうございます。

kuma0220
質問者

補足

考察ありがとうございます。Sheet1とSheet2入替え等行ってみたのですがやはり"●○◎"のみ残ります何か案がありましたらよろしくお願いします。

  • queuerev2
  • ベストアンサー率78% (96/122)
回答No.1

画像が小さくてよく見えないので主に質問文を元に考えました。 たとえば以下のようなものでいかがでしょうか。 Sub シートコピー() Dim r As Range For Each r In Worksheets("Sheet1").Range("B1:F10") If InStr("●○◎", Trim(WorksheetFunction.Clean(Sheets("sheet2").Range(r.Address).Value))) = 0 Then '↑1行追加(sheet2(表-2)に入力済みの記号の判定は最初に行う。記号がない場合のみコピーする) If WorksheetFunction.CountIf(Worksheets("Sheet1").Range("A14:A18"), r.Value) Then 'Sheet1以外がアクティブでも正常に動作するようにシートの指定を追加 Sheets("sheet2").Range(r.Address).Value = r.Value Else Sheets("sheet2").Range(r.Address).Value = "" End If End If '←1行追加(追加したIf文の条件が成り立たないならここまでスキップ) Next End Sub なお、「InStr("●○◎", Trim(WorksheetFunction.Clean(Sheets("sheet2").Range(r.Address).Value))) = 0」の部分は、sheet2に実際に入る可能性のあるデータなどを考えて必要に応じて変更してください。

kuma0220
質問者

お礼

ありがとうございます。

kuma0220
質問者

補足

コードを入力した結果Sheet2に"●○◎"の記号は残るのですが Sheet1の記号"A,C,F,H"が入力できません。 何か良い方法があるのでしょうか? よろしくお願いします。

関連するQ&A

専門家に質問してみよう