2017-11-06 18 views
0

私は現在、すべて同じ形式の6つのExcelブックに取り組んでいます。基本的に私は、その量を使用する必要がある製品コードを含むテーブルを持っています。私は同じ形式のすべてのExcelファイルで約200のワークシートを持っています。私は乗数表をもとにこれらの製品量を更新したいと思います。ここでは、以下のデータの例を示します。データExcel別の列に基づいて列を変更します

enter image description here

乗数テーブル

​​

サンプルように、サンプルコードの新しい値が4,15 3,5 7,84及び88,62であるべきです。

ワークブックのページが多いため、おそらく何らかの種類の式を変更したり挿入したりするのに非常に時間がかかります。簡単な手順で簡単に仕事を終えることができるのだろうか。

ありがとうございます!

+0

何を試しましたか?あなたはどこにいるのですか? 200ページ? –

+0

私は1つ1つずつamoutを変更したり、各レコードに式を挿入したりする以外の方法は考えられないので、何も試してみることができませんでした。 私のExcelは英語ではないので、おそらく誤って用語を翻訳しました。私はそれをGoogleからチェックし、正しい言葉はワークシートでなければならない。それを指摘してくれてありがとう。 私が作成したテーブルの乗数の値で更新量の列に貼り付けました。すべての金額行には、製品コードが含まれているコードを乗算する必要があります。 – Ilhan

+0

手動で変更するか、VBAプログラムを作成してこれを自動的に行います。 – Deb

答えて

0

VBAの基本についていくつかのガイドを確認し、独自のVBAスクリプトを作成しました。これはちょっとハードコードされていますが、これは一度だけの仕事なので、仕事は終わりです。

Sub degistir() 
    Dim WS_Count As Integer 
     Dim I As Integer 
     Dim val As Double 



     WS_Count = ActiveWorkbook.Worksheets.Count 


     For I = 1 To WS_Count 
      Worksheets(I).Activate 

      For R = 8 To 14 
       val = ActiveSheet.Cells(R, 4) 

       If ActiveSheet.Cells(R, 2) Like "P001" Then 
       val = val * 1 
       ElseIf ActiveSheet.Cells(R, 2) Like "P002" Then 
       val = val * 0.533333333 
       'and goes... 
       End If 



       ActiveSheet.Cells(R, 4).Value = val 


      Next R 
     Next I 
End Sub 
0

あなたがする必要があるのはVLookup functionまたはarray formulaです。その後、1レコードごとに式を記入またはコピーすることができます。

あなたの場合、私は配列の数式を使用することをお勧めします。 MultiplierTableは、ワークシートの名前があると、そのワークシートにデータが含まれている場合、範囲C4:D7で(あなたが提供される)、と仮定すると、あなたは、式の下にコピーしてE4セルに貼り付けることができます:

=D4*SUM(IF(C4=MultiplierTable!C$4:C$7,MultiplierTable!D$4:D$7,0)) 

式を下に記入してください。列全体を選択し、同じ列に値として貼り付けます。ワークシートごとにこの手順を繰り返します。

詳細については、リンク先をご覧ください。

VBAを使用したい場合は、教えてください。私は私の答えを改善しようとします。

+0

ありがとうございます。 VLOOKUPのような式を使用すると便利ですが、ワークシートの量が多いため、コピー&ペーストの処理が繰り返し行われます。私は6つのExcelファイルがあり、それぞれに約200のワークシートが含まれています。すべてのワークシートを編集する必要がありますので、1000を超えるコピー&ペースト処理が必要です。 B列の製品IDと等しい乗数でC列を乗算するVBAスクリプトは、より便利で時間を節約できます。私は合計12種類の製品を持っていて、それらはさまざまな組み合わせで繰り返されますが、すべてのproductIDはそのワークシートで一意です。 – Ilhan

+0

@Ilhan、少なくともVBAの経験は最低限ありますか?もしそうでなければ、私はあなたのニーズに合わせてコードを変更することができないことを謝ります。あなたはフリーランサーを雇う必要があると仮定か、間違っていますか? –

+0

私はC#の経験を持っていますが、VBやMicrosoft Officeスクリプトを書いたことはありません。 VBAは読みやすいので、必要な変更を加えることができます。 – Ilhan

関連する問題