VBA Transpose Array

Αυτό το σεμινάριο θα σας διδάξει πώς να μεταφέρετε έναν πίνακα χρησιμοποιώντας το VBA.

Μεταφορά πίνακα

Αυτή η συνάρτηση μεταφέρει έναν πίνακα 2 διαστάσεων:

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647 Λειτουργία TransposeArray (MyArray As Variant) Ως ΠαραλλαγήDim x As Long, y As LongDim maxX όσο μακρύ, minX όσο μακρύDim maxY As Long, minY As LongDim tempArr As Variant«Λάβετε ανώτερα και κατώτερα όριαmaxX = UBound (MyArray, 1)minX = LBound (MyArray, 1)maxY = UBound (MyArray, 2)minY = LBound (MyArray, 2)«Δημιουργία νέου πίνακα TempReDim tempArr (minX έως maxX, minY έως maxX)«Μεταφορά του πίνακαΓια x = minX έως maxXΓια y = minY έως maxYtempArr (y, x) = MyArray (x, y)Επόμενο yΕπόμενο x'Πίνακας εξόδουTransposeArray = tempArrΛειτουργία ΤέλουςSub TestTransposeArray ()Dim testArr (1 έως 3, 1 έως 2) Ως παραλλαγήΧαμηλή έξοδος Arr As Variant'Εκχώρηση τιμών πίνακαtestArr (1, 1) = "Στιβ"testArr (1, 2) = "Τζόνσον"testArr (2, 1) = "Ράιαν"testArr (2, 2) = "Τζόνσον"testArr (3, 1) = "Andrew"testArr (3, 2) = "Scott"«Λειτουργία μεταφοράς κλήσεωνoutputArr = TransposeArray (testArr)'Έξοδος δοκιμήςΈξοδος MsgBoxArr (2, 1)Τέλος υπο

Για να δοκιμάσετε αυτήν τη συνάρτηση, καλέστε τη διαδικασία TestTransposeArray: εδώ δημιουργείται ένας αρχικός πίνακας testArr και το outputArr είναι ο τελικός πίνακας μεταφοράς.

Φύλλο εργασίας Λειτουργία. Μεταφορά

Αντ 'αυτού, ίσως θελήσετε να μεταφέρετε έναν πίνακα στο Excel. Για να το κάνετε αυτό, μπορείτε να χρησιμοποιήσετε τη συνάρτηση φύλλου εργασίας μεταφοράς του Excel.

Αυτή η διαδικασία θα μεταφέρει έναν πίνακα 2D σε μια περιοχή Excel χρησιμοποιώντας τη συνάρτηση φύλλου εργασίας Transpose:

12345678910111213141516171819202122232425 Sub TestTransposeArray_Worksheetfx ()Dim maxX όσο μακρύ, minX όσο μακρύDim maxY As Long, minY As Long«Δημιουργία πίνακα και εκχώρηση τιμώνDim MyArray (1 έως 3, 1 έως 2) ως παραλλαγήMyArray (1, 1) = "Στιβ"MyArray (1, 2) = "Johnson"MyArray (2, 1) = "Ryan"MyArray (2, 2) = "Johnson"MyArray (3, 1) = "Andrew"MyArray (3, 2) = "Scott"«Λάβετε ανώτερα και κατώτερα όριαmaxX = UBound (MyArray, 1)minX = LBound (MyArray, 1)maxY = UBound (MyArray, 2)minY = LBound (MyArray, 2)"Μεταφορά πίνακα στο ExcelΕύρος ("a1"). Αλλαγή μεγέθους (maxY - minY + 1, maxX - minX + 1). Αξία = _Application.WorksheetFunction.Transpose (MyArray)Τέλος υπο

Θα βοηθήσει στην ανάπτυξη του τόπου, μοιράζονται τη σελίδα με τους φίλους σας

wave wave wave wave wave