2011-10-26 4 views
0

Webページからインポートしたデータで構成されるシートが1つあります。 2枚目のシートには、輸入されたデータに由来する最小価格と最大価格を求めるセルがあります。問題は、リフレッシュ時にデータを別のセルに移動できるため、毎回同じセルに配置するのではなく、必要な価格を見つけるためにコードで特定の言葉遣いを探す必要があることです。Excel 2007でマクロを作成して移動データを抽出する

私が抽出する必要があるインポートされたデータシートは、常にこの行のテキストの中にあります。この文字列は、行15-35の間のどこかに常に見つけられますが、ウェブサイトがリフレッシュされると移動します。第1の数(71.00)は、最小価格を求めるセル内の別のシートに抽出する必要があり、第2の数(75.00)は最大価格である。これらの価格は変更できるので、私はそれらの番号を探して抽出することができます。

スラッジブルース:収量1-2,1000-1500ポンド 1500-2000ポンド71.00-75.00。

誰かがこのマクロのコーディングを手伝ってもらえますか?

+0

このテキストはすべて同じセル内にあるのですか、別のセルに分割されていますか? –

答えて

0

テスト文字列の最後のインデックスを見つけるには、InStrRev関数(.NETのLastIndexOf関数に似ています)を使用します。そして

lastIndex = InStrRev(testString, "lbs", 1, 1) 

上列splitingの終わりに最後のインデックスから検索 - 最小値がsplitArray(0)になり、上限値はsplitArrayになり

splitArray = Split(Mid(testString, lastIndex, Len(testString) - lastIndex), "-", 1) 

(1 )を指します。

+0

ありがとうございました。私はどのようにコーディング全体をタイプするのですか?私は以前にVBAをやったことがないので、フォーマットに慣れていないか、コマンドを正確に入力する方法に慣れていません –

+0

これはsplitArrayに値を渡してから、数値を入れたいセルの値を設定する必要がありますその変数に'ActiveSheet.Cells(1,1).Value = splitArray(0)'のようなものが、アクティブなシートのA1セルに値を入れます。 –

関連する問題