VBA - Müssen eine Funktion erstellen, die den Bereich als Eingang

Habe ich eine zwei-dimensionale Tabelle in Excel. zB.

outputproduct      blending combination
**5                P1:0.6/P3:0.5**
  2                P1:0.3/P2:0.7
  4                P5:0.4/P2:0.7
  7                P11:0.7/P7:0.4

Angenommen, der Bereich der Tabelle variiert von B2:C6 (kann variieren). Ich habe so eine Funktion zu erstellen, deren erste Aufgabe ist das Lesen dieser Reihe( das wäre einer vom Anwender definierten Eingabe) und speichert dann die Daten in ein 2 dimensionales array, so dass ich verwenden könnte, die Daten(ganze Zahl) in die erste Spalte und die Zeichenfolge in der zweite Spalte, entsprechend.

Der ersten Spalte ist das resultierende Produkt index, während die zweite Spalte ist die Mischung der Produkte in dem angegebenen Verhältnis kombinieren zusammen, um das Produkt in der ersten Spalte.

Dann gibt es eine andere Tabelle:

product index      current stock    updated stock
      **1**             **10**
        2                 20 
      **3**             **50**
        4                 15
      **5**             **100**
        .                 .
        .                 .
        .                 .

Ich das update der Aktien Betrag in dieser Tabelle nach der Verarbeitung der Daten.
Zum Beispiel auf die Kombination von Produkt 1 mit Produkt-3 im Verhältnis von 6:5 (Einheiten), 1 Einheit von Produkt 5 produziert wird. Also, ich habe zur Aktualisierung der Anzahl von Aktien für jedes der Produkte in Tabelle 2.

Irgendwelche Vorschläge, wie konvertiert man die Reihe in einem 2 dimensionalen array?

Public Function Blending_function( R1 as Range, R2 as Range)
 ' R2 is the range of table 2, where the updating is to be done
 ' R1 is first stored in to a 2 dimensional array, such that the data in the
 ' column 1 could be read, and the data in the column 2 could be read (of table 1).
 ' the integer in the column 1 of table 1 refers to the product index in table 2.
 ' P(i) stands for the ith product. In first row of table-1, P1 and P3 combine in the 
 ' ratio of 6:5 to give P5. The current stock of each product is provide in table-2,
 ' whose range is R2(entire table 2).

 ' R1 is the range of table 1, from where the processing is to be done


End Function 

Die wichtigste Hürde für mich ist, zu konvertieren Bereich R1 (Tabelle-1) in ein 2-dimensionales array. Und dann schauen Sie aus dem array, der index des output-Produkt, und suchen Sie das Produkt in Tabelle 2 für die Aktualisierung der Lagerbestände.

Was nach Ihnen sollten die Werte von updated stock in der 2. Tabelle?
wie in "Tabelle1", row1, die Begrenzung der agent ist P1. So aktualisiert die Werte der in Tabelle 2 ist P1 10-(10/.6), P3 50 -(10/.6) und P5 100 +(10/.6). wie gehen Sie vor ?
Ok Hab es... vielen Dank lassen Sie mich gehen Sie durch den rest der Frage 🙂
okies... gehen über die Frage,... lassen Sie mich wissen, wenn Sie irgendwelche Schwierigkeiten beim Verständnis der Frage.

InformationsquelleAutor Rachit | 2012-07-10

Leave a Reply

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.