0

VLOOKUPExcel シートの機能に干渉している Excel の書式設定の問題についてサポートが必要です。

ルックアップとして 20,000 を超える列値を含む 2 つのシートがあり、参照用に同じ数の値があります。両方のセルのすべての値は奇妙にフォーマットされており、一部はセルの左上隅に緑色の三角形があり、一部はテキストなどです。

Excelでマクロ/VBAを使用して、両方のシートですべてのフォーマットを削除または同様にする方法はありますか? VBA を使用する理由は、このファイルを操作する人がすべてを自動化する必要があり、Excel にまったく慣れていないためです。私はすでにVLOOKUPセルに関数を持っています。フォーマットを操作するだけです。

4

2 に答える 2

2

さて、私はこのように部分的なルックアップと戦います:

items配列に、新しい空のFIRST列を作成してから、数式を配置します

="+"&B2

これにより、セルB2のコンテンツが取得され、その前に+が追加されます。

vlookupを実行するときは、検索可能な値に「+」を追加します

=VLOOKUP("+"&A6,A:O,2,FALSE)

したがって、たとえば文字列と数値を比較する代わりに、先頭に「+」を追加して文字列を比較します。

もう1つの手法は、すべての書式設定を強制終了することです。列全体を選択し、[データ-テキストから列-区切り文字]をクリックしてから、[すべての区切り文字を選択解除]をクリックします。[完了]をクリックします。これにより、フォーマットがクリアされます。

================================================== =========================

これはあなたが求めたVBAソリューションです:

Excelから呼び出す

=GetLookup(G2,A:C)

これがVBAです:

Function GetLookup(LOOKFOR As String, RANGEARRAY As Range) As String
  GetLookup = Application.WorksheetFunction.VLookup("+" & LOOKFOR, RANGEARRAY, 3, False)
End Function

幸運を!

于 2012-03-13T20:46:35.977 に答える
1

すべてのセルのデータ型が同じであるか、すべて同じにする必要があると想定しています。次の手順では、セルを均一なタイプにします。

  1. これが必要に応じて実行されない場合に備えて、ワークブックを保存します
  2. 同じ細胞タイプにしたいすべての細胞を選択します
  3. Ctrl+1 を押し、[数値] タブで、これらのセルに使用するタイプを選択します。OK を押します。
  4. Alt+F11 を使用して VBA エディターを開きます
  5. Ctrl+G で即時ウィンドウを開く
  6. 次のように入力します:選択範囲内の各セルに対して : cell.formula = cell.value : 次のセル
  7. Enter キーを押します (数秒待つ必要がある場合があります)。

両方の範囲で同じデータ型 (たとえば、手順 3 で両方の範囲に「テキスト」を選択) でこのアクションを実行すると、「リンゴとリンゴを比較」し、VLOOKUP が必要に応じて機能するはずです。

お役に立てれば。

編集:フォーマット、明確化

于 2012-03-14T00:02:32.630 に答える