Excel (VBA)

Excel VBAに関するフォーラムです。
  • 解決済みのトピックにはコメントできません。
このトピックは解決済みです。
質問

 
(Windows 10全般 : Excel 2013)
特定の文字部分をテキストから抜き出して1sheet事に貼り付ける方法
投稿日時: 21/02/20 16:48:11
投稿者: moya

お世話になっております、いつも質問させて頂いております。
回答がとても適切で今回もお願いいたします。
 
テキストにある文字部分を抜き出し、sheet事に貼り付ける方法について
 
---------------テキスト内容ここから-------------------------------------
Part 1
      XXXXXXXXXXXXXX
           XXXXXXXXXXXXXX
              Part 0
                  XXXXXXXXXXXXXX
                      XXXXXXXXXXXXXX
                       
                          Part 0
                              XXXXXXXXXXXXXX
                                  XXXXXXXXXXXXXX(0)
                      
                          Part 0
                             XXXXXXXXXXXXXX
                                  XXXXXXXXXXXXXX (0)
  Part 2
      XXXXXXXXXXXXXX
          XXXXXXXXXXXXXX
              Part 0
                  XXXXXXXXXXXXX
                      XXXXXXXXXXXXX
                      XXXXXXXXXXXXX
                          Part 0
                              XXXXXXXXXXXXX
                                  XXXXXXXXXXXXX (0)
                     XXXXXXXXXXXXX
                          Part 0
                              XXXXXXXXXXXXX
                                  XXXXXXXXXXXXX (0)
                                  XXXXXXXXXXXXX (1)
              Part 1
                  XXXXXXXXXXXXX
                      XXXXXXXXXXXXX
                      XXXXXXXXXXXXX
                          Part 0
                              XXXXXXXXXXXXX
                                  XXXXXXXXXXXXX (0)
                                  XXXXXXXXXXXXX (0)
  Part 3
      XXXXXXXXXXXXXX
          XXXXXXXXXXXXXX
              Part 0
                  XXXXXXXXXXXXX
                      XXXXXXXXXXXXX
                      XXXXXXXXXXXXX
                          Part 0
                              XXXXXXXXXXXXX
                                  XXXXXXXXXXXXX (0)
                     XXXXXXXXXXXXX
                          Part 0
                              XXXXXXXXXXXXX
                                  XXXXXXXXXXXXX (0)
                                  XXXXXXXXXXXXX (1)
              Part 1
                  XXXXXXXXXXXXX
                      XXXXXXXXXXXXX
                      XXXXXXXXXXXXX
                          Part 0
                              XXXXXXXXXXXXX
                                  XXXXXXXXXXXXX(0)
                                  XXXXXXXXXXXXX (0)
              Part 2
                  XXXXXXXXXXXXXX
                      XXXXXXXXXXXXXX
                      XXXXXXXXXXXXXX
                          Part 0
                            XXXXXXXXXXXXXX
                                  XXXXXXXXXXXXXX (3)
---------------テキスト内容ここまで-------------------------------------
太字で記載してる、Part1を1sheet、Part2を2sheet、Part3を3sheetに貼り付けたいのですが
Part1〜Part3が1sheetに貼り付ける方法しかみつからず、何かよい方法はありますでしょうか?

回答
投稿日時: 21/02/20 17:30:47
投稿者: simple

行き違いが無いように確認します。
 
1. それはテキストファイルということですね。
 
2. 結果として Sheet1(慣用従って、1Sheetではなくこう書きます)には、
   どうなればいいんですか?
   念のため示して下さい。
 
3.シートに書き出すなら、行と列はどうなるんですか?
   全てA列にだけ書くのですか? それとも?
 
4.あなたはどこまで出来ているんですか?どこに詰まっているのか明確にしてください。

投稿日時: 21/02/20 18:58:02
投稿者: moya

simple様
 
質問の書き方が雑で、大変失礼しました。
アドバイスありがとうございます。
 
1.テキストファイルとなります。
2.Sheet1、Sheet2、Sheet3となります。
3.書き出しはA列で
A列
1行  Part 1
2行 XXXXXXXXXXXXXX
3行  XXXXXXXXXXXXXX
4行 Part 0
5行 XXXXXXXXXXXXXX
6行 XXXXXXXXXXXXXX
のようにできればと思ってます。
4.現状は、下記のサイトのソースを参考にしてる程度となります。
https://teratail.com/questions/83823
 
Part1、Part2、Part3を区切って読込ませて、書き出すと言う部分に詰まっております。
 

回答
投稿日時: 21/02/20 19:56:55
投稿者: K.Hiwasa
投稿者のウェブサイトに移動

以下の方法はいかがでしょうか。
 
テキストファイルを1行ずつ読み込んで1行ずつセルに書き出す。
行頭に"Part "がある場合、改シートする。
(Part 1のみ行頭でPart 2とPart 3は先頭にスペースが2つありますが、
これは記入ミスでしょうか。ミスでなく正しい場合はそれも要考慮。)
 
上記をテキストファイルの終わりまで繰り返します。

回答
投稿日時: 21/02/20 19:59:47
投稿者: simple

申し訳ないですが、もう一度条件を明確に書いてもらえませんか?
どうしてその6行だけなのか理解しかねます。
 
(1)太字というのはテキストファイルには無いですよね。
(2)スペースではない文字列で始まる文字列が区切りの文字かと即断しましたが、
   Part1等の前にスペースがありますよね。それでは判断できませんよね。
(3)3文字目に非スペースの文字列があれば、それが区切り文字と判断していいんですか?
 
漠然と表示を見ていると、区切りは明確のようにも思えますが、
コードを作成するには、厳密な条件が必要ですよ。
日本語で提示してもらえますか?

投稿日時: 21/02/20 20:38:08
投稿者: moya

K.Hiwasa様
その方法で、やってみます。
ありがとうございます。
 
simple様
(1)太字は質問するのに抜き出したい部分として示しました。
(2)スペースは誤記です。
(3)非スペースの文字列、おしゃるっとりです。
 
再度、色々やりまとめてから、不明な点を投稿します。
ありがとうございました。