VBA-Excel-Store-Bereich als Array extrahieren Sie Zelle Werte für die Formel. Offset für die anderen Variablen

Ich bin ein bisschen neu in diesem. Wie würde ich nehmen Sie die Spalte und legen Sie die Zelle Daten, die eine ganze Zahl und gehen Sie durch alle Werte in diesem Bereich legen Sie Sie in eine Funktion, um das Ergebnis in eine andere Spalte in der excel-Arbeitsmappe. Also mein output-Spalte wird die gesamte Comm Spalte mit den Spalten G, J und K für die Eingänge in die Funktion =100000*slotNumber+300*xpos+ypos

  A    B     C      D     E    F       G          H    I       J    K
1 Proc Equip Operat Shift Comm Casette SlotNumber Diam Measure XPos YPos
2
3'

So gedacht, wenn ich nahm die Werte der einzelnen und machte eine for-Schleife, ich könnte die Werte und die irgendwie alles machen, nur nicht wissen wie! Bitte und danke!

EDIT: ich habe alle Spalten gespeichert, jetzt muss ich übergeben Sie das Array-Werte in die Funktion ein, indem ein, für die Formel Z = 100000*slotArr(i)+300xList(i)+yList(i) oder vielleicht kann ich nur legen Sie Sie in der for-Schleife.

EDIT: nach Aufgabe der Funktion in der Schleife...ich bin immer ein Objekt außerhalb des Messbereichs Fehler...in der Zeile der Funktion.

Sub cmdMeans_Click()
Dim i As Long, j As Long
Dim slotList As Range, slotArr() As Variant, xList As Range, xArr() As Variant
Dim yList As Range, yArr() As Variant, cArr() As Variant

Set slotList = Range("P2", Range("P2").End(xlDown))
slotArr() = slotList.Value

Set xList = slotList.Offset(0, 4)
xArr() = xList.Value

Set yList = slotList.Offset(0, 5)
yArr() = yList.Value

'Only one counter required because of the dependancy on the range slotList
For i = 2 To UBound(slotArr, 1)
    'Dimensioning Array
    ReDim cArr(UBound(slotArr, 1), 1)
    cArr(i, 1) = (100000 * slotArr(i, 1)) + (300 * xList(i, 1)) + yList(i, 1)
    'MsgBox ("Comment Cell Value" & cArr(i, 1))
Next

'Resizing Array
ReDim Preserve cArr(i)
'This is where the new values will be written to the comment column

Dim cRng As Range
Set cRng = Range(Cells(14, 1), Cells(UBound(cArr(i))))
cRng.Value = Application.Transpose(cArr)

End Sub
  • Konnte Sie formatieren Sie Ihre Frage deutlicher oder ggf. die Lieferung eines screenshot? Ich habe keine Ahnung, was Sie Fragen.
  • Ich kann nicht senden Sie ein Foto, aber ich kann via E-Mail, weil das forum lässt mich nicht. So die den Buchstaben oben entsprechen den Spalten. Spalte C (Slot-Nummer) ist die excel-Spalte mit vielen Werten, und ich möchte ein array zu speichern alle diese Werte, dann ist auch das speichern der Werte in Spalte J & K für XPos und YPos. Nach dem abrufen dieser Daten, die ich gerne weitergeben möchte Sie alle in einer Funktion für eine neue array-Ausgang..und dann konvertieren Sie die Ausgabe in eine Reihe und legen Sie es in der Spalte A für die Comm.
  • Was sind die Barcode Typ verticles in Ihrem Blatt Spalten ? :$
InformationsquelleAutor user2027945 | 2013-01-31
Schreibe einen Kommentar