Πίνακας περιεχομένων
Αυτό το σεμινάριο θα σας διδάξει πώς να μεταφέρετε έναν πίνακα χρησιμοποιώντας το 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)Τέλος υπο |