[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『ガルーンのコメント投稿がコピーペーストされたエクセルの整理』(根気)
はじめまして。不躾ですが助けて下さい。 退職した複数名が大事な社内回覧メールのコメントをエクセルにコピーして保存していた様で、 これを整理して重要なコメントを拾い出す何とも言えない仕事をしています。 残念ながら古すぎてガルーンの回覧メール自体は削除されています。
内容は以下のとおりです。
・ Sheet1からSheet3まであり、それぞれSheet1がAさん、Sheet2がBさん、 Sheet3がCさんがコピペしたシートです。
・ Sheet1からSheet3のコピペしたコメントは各人がコメントを改変することはないので、 投稿番号が同じであれば同じ内容が残されています。
・ ただし、コピペの仕方は確認各様で、必ずA列にコメント番号が入る体裁になっていますが、 ガルーンのコメント欄と同じ体裁だったり、テキストデータだったり、 横列の1から始まってなかったりしますが、画像はどのSheetにも入ってます。
・ コピペしたコメントは以下のような感じで、いちシート50コメント位残されてます。
---------------------------------------------------------------------------- 2:山田太郎:2014/09/06(金) 20:13:39.99 お疲れ様です。ご依頼の件、以下のとおりです。 ……………………………………………………………………………… ……………………………………………………………。
8:高橋太郎:2014/09/15(金) 10:10:39.65 お疲れ様です。ご依頼の件、以下のとおりです。 ……………………………………………………………………………… ……………………………………………………………………………… ……………………………………………………………。 Jpeg画像(←jpegはリンクではなくて画像が貼り付けられてます。)
6:加藤太郎:2014/10/15(金) 10:11:39.65 お疲れ様です。ご依頼の件、以下のとおりです。 ……………………………………………………………………………… ……………………………………………………………。 http://・・・.co.jp
99:高橋太郎:2014/09/15(金) 10:10:39.65 お疲れ様です。ご依頼の件、以下のとおりです。 ……………………………………………………………………………… ……………………………………………………………………………… ……………………………………………………………。 Jpeg画像(←jpegはリンクではなくて画像が貼り付けられてます。) ………………………………………………………………………………
----------------------------------------------------------------------------
このような状況で、以下の方法を教えて頂けませんか?
1. Sheet1からSheet3までの投稿番号をSheet4のA列(SheetA)・B列(SheetB)・C列(SheetC)に表示させられませんか? (あとあと関数でA列・B列・C列を比較して重複しているものを重要なコメントとして拾いたいと思います。)
2. 1.とは別で、できればですが、Sheet1からSheet3までを比較して、投稿番号で重複するコメントがあれば、 Sheet3から当該重複するコメント番号のコメント全てをSheet5にコピーすることはできませんか?
月曜日の深夜に申し訳ありませんが御支援いただきたく宜しくお願い致します。 なお、当方エクセルの関数が若干わかり、VBAはコピペして何とか使える程度です。
< 使用 Excel:Excel2010、使用 OS:Windows7 >
御返事有難うございます。
・「投稿番号」とは「コメント番号」のことです。
・メールコメントの張付けは1セルに全てではなく、Sheet1からSheet3のすべてが、 メールコメントのひとつの行が横列の1セルを使ってまして、5行の文章であれば横5列使ってます。 また、画像はメールコメントの5行目に掲載されていいれば、エクセルの横5列めに溢れるような形で貼り付けられています。
・頂いた案ですが、mid関数でコメント番号だけを抜き出して、エクセルの並べ替えで抽出しようと思ったのですが、 上記のとおり、例えば2行目の先頭文字に「30万円」というような数字が記載される場合が多々ありますので、 単に並べ替えるだけですと上手く参りません・・・。 (根気) 2014/10/21(火) 10:27
なお、画像データは無視しています。
(貼ってあるオブジェクト情報と、セルの座標を比較すれば関連付けできそうですが、かなり面倒なので)
Sub test() Dim i As Long Dim j As Long Dim k As Long Dim iR As Long Dim cw As String Dim vw1 As Variant Dim vw2 As Variant
For i = 1 To 3 With Sheets(Array("Sheet1", "Sheet2", "Sheet3")(i - 1)) cw = "" For j = 1 To .Cells(.Rows.Count, "A").End(xlUp).Row For k = 1 To .Cells(j, .Columns.Count).End(xlToLeft).Column cw = cw & .Cells(j, k).Value Next k cw = cw & vbLf Next j End With
vw1 = Split(cw, vbLf) cw = "" For j = 0 To UBound(vw1) vw2 = Split(vw1(j), ":") If 2 <= UBound(vw2) Then If cw <> "" Then Cells(iR, "D").Value = cw End If iR = iR + 1 Cells(iR, "A").Value = Trim(vw2(0)) Cells(iR, "B").Value = Trim(vw2(1)) Cells(iR, "C").Value = Trim(vw2(2)) cw = vw1(j) Else cw = cw & vbLf & vw1(j) End If Next j
If cw <> "" Then Cells(iR, "D").Value = cw End If Next i
Sort.SortFields.Clear Sort.SortFields.Add Key:=Range("C1:C" & Rows.Count), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal With ActiveSheet.Sort .SetRange Range("A1:D" & iR) .Header = xlNo .MatchCase = False .Orientation = xlTopToBottom .SortMethod = xlPinYin .Apply End With End Sub (???) 2014/10/21(火) 10:35
コメント番号だけ抜くといっても、それはA列に必ず番号があるとか、先頭は必ず数字とか、固定条件が必要です。
(そういう条件なら、Val関数を使うだけ)
(???) 2014/10/21(火) 12:48
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.