2016-10-16 5 views
0

私はビジネスディベロッパーとして働いていますが、私たちのサポート部門の問題は、クライアントのCSVファイル、つまり製品カタログを含むExcelスプレッドシートで作業する必要があります。今、私は最初の列は次のようにフォーマットされてオンラインストアからのエクスポートCSVを持ってExcelマクロ/列間のテキストを切り取る/貼り付けるスクリプト

Name_of_the_product - {ストアカテゴリ)

例えばSony NEX-6 - {デジタルカメラ}

{}間の単語を切り取り、{}を付けずにすぐに右側の列に貼り付けるには、マクロ/スクリプトが必要です。このようにして、清潔な製品名、つまりSony NEX-6と各製品の店舗カテゴリを取得します。デジタルカメラ(私はサードパーティのソリューションを介して製品のフィードをプッシュする必要があります)。

ご協力いただければ幸いです!

+0

こんにちは! CSVフィードには550行以上の行があったので、私はそれを自動化する方法をとる必要があったので、私は以下の答えを投稿しました。私はほとんどそれを考え出したようです。申し訳ありませんが、質問が十分詳細でない場合、私はExcelマクロを使用して作業する必要はありませんでしたが、今はどのように強力であるかを見ています。私はすぐに私の知識を磨くでしょう! – Pawel

答えて

0

私はあなたのデータを列Aに入れます。そして100行あります。

Dim WrdArray() As String 
    Dim text_string As String 
    Dim LeftSide As String 
    Dim RightSide As String 

    For i = 1 To 100 
     text_string = Range("A" & i).Value 
     WrdArray() = Split(text_string, "{") 
     LeftSide = WrdArray(LBound(WrdArray)) 
     RightSide = WrdArray(UBound(WrdArray)) 
     Range("A" & i).Value = LeftSide 
     Range("B" & i).Value = Replace(Result, "}", "") 
    Next i 

分割機能を理解したい場合は、このブログ記事を参照できます。 FIND( - A2); "["、A2)+1; FIND( "]"(FIND;

= MID(A2: http://www.excelvbasolutions.com/2015/06/split-function.html

+0

ありがとう!ほとんどそれは動作するようになったが、2つのことがある。 – Pawel

+0

{}内にあるものを切り取る以外は、他のものをすべて取り、新しい列に配置します。それは必ずしも問題ではありません(私はいつも2つの列を反転することができます)が、私は元の列からこの情報をカットする必要があります。 – Pawel

+0

今すぐコードを確認してください。私は少し修正を加えました。 –

0

は、私はそれが主に以下の機能を使用して作業を取得するために管理しています"[" "A2" - 1)

ここで残る唯一のことは、A列([]を含む)からコピーされたものを削除することです。フィード管理ソリューションのSearch/Replace機能を使用して動作させることができればと思っていますが、私はそのサポートを確認しています。

ありがとうございました!

関連する問題