• ベストアンサー

EXCEL DATAの置換ダイアログの利用方法は

別タイトル:  EXCELのDATAを抽出して日別の表を作る式は  でご指導いただいた手順のなかで、 Ctrl+Hで置換ダイアログの手順で先に進めません。 『Ctrl+Hで置換ダイアログを出し、「オプション」ボタンを押し、「ワイルドカードを使用する」にチェックを入れ、検索する文字列に「^t」置換後の文字列に「、」を入力して「すべて置換」し、そのまま検索する文字列に』 の『すべて置換」のボタンを押す前後の手順・確認すること・入力のしかたのご指導をお願いいたします。

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

  • ベストアンサー
  • Prome_Lin
  • ベストアンサー率42% (201/470)
回答No.4

これでどうでしょうか? また、何かありましたら、聞いてください。 Option Explicit Sub Test() Dim i, j As Integer Dim s, t, z As String For i = 2 To 32 s = "" t = "" For j = 2 To 21 z = Cells(j, i).Value If z = "☆" Or z = "★" Or z = "◎" Then s = s & "," & Cells(j, 1).Value End If If z = "※" Then t = t & "," & Cells(j, 1).Value End If Next j If s <> "" Then Cells(i, 34).Value = i - 1 & "日" & s End If If t <> "" Then Cells(i, 35).Value = i - 1 & "日" & t End If Next i End Sub

iki-sima
質問者

お礼

早速のご指導ありがとうございます。 活用体験回数は少ない状態ですが、 希望の内容を 100% 達成出来る内容です。 VBAという言葉させ知らない高齢者に、丁寧な手順までご指導ありがとうございました。  ベストアンサーに選ばせていただきます。

その他の回答 (3)

  • Prome_Lin
  • ベストアンサー率42% (201/470)
回答No.3

「EXCELのDATAを抽出して日別の表を作る式は」拝見しました。 私も、回答された方と同様、VBA(マクロまたはプログラム)をお勧めはしたくないのですが、今回の場合、VBAを使わないと、あまりにも大変だと思うのです。 そこで、この際、VBAの起動の仕方などを覚えて頂き、実行して頂くのが良いかと思いました。 まず、エクセルを立ち上げてください。 処理したいファイルを開き、処理したいシートを表示しておいてください。 「Alt+F11」(Alt=「オルト」と読みます、キーボード一番下真ん中のスペースキーの左側2つ目ぐらいにあるはずです)キーを押しながら、「F11」(キーボードの上に12個並んでいるキーで、左から11番目です)を押します。 すると、何やら新しい画面が表示されるはずです。 メニューの「挿入」から、「標準モジュール」を選ぶと、画面のグレーの部分が白くなります。 その白くなった部分(画面の大部分を占めている右側の部分)に以下のマクロをコピー&ペーストし、「F5」を押すと、結果がエクセル画面の方に表示されています。 コピー&ペーストのキーボードで操作する方法もこの際、覚えておくと便利です。 もちろん、範囲指定して、右クリックから「コピー」、貼り付けたいところで、やはり右クリックから「貼り付け」でも結構です(Windowsではどのソフトを使っていても、共通で行えますし、「Windowsが覚える」のであって、そのソフト内だけで覚えるわけではないので、他のソフトでも覚えた内容を利用できます)。 コピーは「Ctrl+c」(たいていキーボードの左下(右下にもある場合あり))のコントロールキーを押しながら、「c」キーを押します。 これで範囲指定した部分をコピー(記憶)しました。 上記のように、この記憶は「Windows」が記憶したもので、この記憶した内容はソフトでも使えます。 次に、エクセルの新たに表示された白い部分にカーソルを持って行き、「Ctrl+v」とすると、貼り付けができます。 貼り付けはペーストというので、コピー(Copy)が「c」なら、ペースト(Paste)は「p」の方が覚えやすいのですが、「p」はプリント(Print)という重要なキーとして使っているのと、コピーやペーストは1対の操作なので、近くにある「c」と「v」が割り当てられたものと思われます。 もしかすると、「F5」を押すと、何か表示されるかも知れませんが、もちろん「OK」で大丈夫です。 画面の一番下に今、立ち上がっているソフトが並んでいるはずです。 その中に立ち上げているエクセルがあるはずですので、そこをクリックすると、「AH」列に結果が並んでいるはずです。 Option Explicit Sub Test() Dim i, j As Integer Dim s, z As String For i = 2 To 32 s = "" For j = 2 To 21 z = Cells(j, i).Value If z = "☆" Or z = "★" Then s = s & "," & Cells(j, 1) End If Next j If s <> "" Then Cells(i, 34).Value = i - 1 & "日" & s End If Next i End Sub 何やら長々と説明しましたが、一度やってみれば、実はたいしたことはありません。 一度、やってみてください。 もし、分かりにくければ、質問してください。

iki-sima
質問者

お礼

2件につながる、長文の質問や皆様のご指導を見ていただいてのご指導ありがとうございます。  お礼や締め切りが遅れています事情ですが、 私にはたいへんな作業量ということもあって、幸い支援していただける方を見つけて、たくさんのご指導を試行させていただいています。  お蔭様で No3の新しいご指導を頂くことが出来ました。 丁寧なご指導ありがとうございました。

iki-sima
質問者

補足

御指導のProme_Lin様 ボタンの位置や機能迄とても丁寧に詳しい御指導ありがとうござ います。  手順を画面コピーで記録しながら順に体験しました。 『VBAのソフト』を複写した時の画面。  この画面にカーソルがあることを確認して、 F 5 ボタンを押してから、最初のExcel のシート(≒当番表)の戻ると処理が出来ている。  と瞬間で目的のDATAが出てきました。ご指導ありがとうございます。 ソフトから次の機能を気づきましたが、  抽出する対象の記号を ※ ◎の二種の追加は可能でしょうか。 また 結果の掲載列を、AH列に★☆◎を記載、 AI列に ※を記載ということは可能ですか。  たいへんお手数をお掛けしますが御指導を頂けましたら幸いです。 ­- - - - - - - - - - - - - - - - - - For i = 2 To 32 ::抽出対象の列:日付:1日から31日 For j = 2 To 21 ::抽出対象の行:20人の会員名 If z = "☆" Or z = "★" Then ::抽出対象 Cells(i, 34).Value = i - 1 & "日" & s::結果記載欄 AH列に相当。

  • Prome_Lin
  • ベストアンサー率42% (201/470)
回答No.2

エクセル2000、2010、2016で確認しましたが、エクセルの置換で「ワイルドカードを使用する」は存在しません。 回答者の方、何か勘違いをされているのではないでしょうか? ワードにはありました。

iki-sima
質問者

お礼

早速の、 EXCEL 2000,2010,2016の確認というお手数お掛けしてのご指導ありがとうございます。  皆さんのご指導を体験させていただく際の参考にさせていただきます。

  • Nebusoku3
  • ベストアンサー率38% (1466/3827)
回答No.1

>『Ctrl+Hで置換ダイアログを出し、「オプション」ボタンを押し、「ワイルドカードを使用する」にチェックを入れ、検索する文字列に「^t」置換後の文字列に「、」を入力して「すべて置換」し、そのまま検索する文字列に』 ↓ この手順のうち、 「オプション」ボタンを押し、「ワイルドカードを使用する」にチェックを入れ、・・・の部分を使用する意味がわかりませんが、複雑な文字列でなければ、このオプションは必要ないのではないでしょうか。 提案: 『Ctrl+Hで置換ダイアログを出す前に、置換する「範囲」 をマウスで決める。 その後、Ctrl+Hで置換ダイアログを出し、検索する文字列に「^t」置換後の文字列に「、」を入力し、「すべて置換」し、そのまま検索する文字列に』 を実行する前に、「置換(R)」を試して、実際に希望通りの動きをしているか1個だけ確認。 OKの様であれば、「すべて置換」を実行する。 のでは如何でしょうか? 「ワイルドカードを使用する」オプションが、必要であればそれも取り入れてもOKでしょう。

iki-sima
質問者

お礼

質問当日に早速のご指導ありがとうございます。 はじめての手順ですから、順に体験させてください。

関連するQ&A