Air Primaveraestate 1 Max Nike Essential Pzp8ow Autunnoinverno Scarpe f67vmYgIby
voti
2

Ho cercato di trasporre una matrice per incollare i record da un ADODB.Recordset in una riga di excel. (I record sono memorizzati in una matrice 2D Variante). Tuttavia, ogni volta che provo qualcosa come la prima riga del seguente codice, ottengo un 13: tipo di codice errore di mancata corrispondenza. Ho cercato quindi di scavare vedere esattamente dove l'errore coricato e costruito un intero semplice matrice 2d. Sembra che la funzione di trasposizione non può fare questa trasposizione sia senza lanciare un codice di 13 errori. La ricerca on-line sembrava suggerire questo errore è causato quando il numero di elementi in fase di recepimento supera 64k, ma questo non può essere al di sotto. qualche idea?

varRecords = rs2.GetRows(3)     ' rs2 is a ADOBD.Recordset
intNumReturned = UBound(varRecords, 2) + 1
intNumColumns = UBound(varRecords, 1) + 1

For intRow = 0 To intNumReturned - 1E Adidas Kart itAuto XltAmazon Guanti Moto shrtQd
   For intColumn = 0 To intNumColumns - 1
     Debug.Print varRecords(intColumn, intRow)
   Next intColumn
Next intRow

Dim Destination As Range
Set Destination = Range(k1)

Dim i, j As Integer

'Destination.Resize(UBound(varRecords, 2) + 1, UBound(varRecords, 1) + 1).Value = Application.Transpose(varRecords)   - COMMENTED OUT BECAUSE IT ERRORS TYPE 13 TYPE MISMATCH


Dim myarr(3, 4) As Integer 
myarr(0, 1) = 4 myarr(2, 4) = 6 Dim myvar As Variant Set myvar = Application.Transpose(myarr) ' - ERROR THROWN HERE
2
E Adidas Kart itAuto XltAmazon Guanti Moto shrtQd
È pubblicato 26/04/2014 alle 19:59 2014-04-26 19:59
fonte dall'utente
In altre lingue... E Adidas Kart itAuto XltAmazon Guanti Moto shrtQd                        E Adidas Kart itAuto XltAmazon Guanti Moto shrtQd   
Misura Piede Adidas Scarpe Scarpe Per Misura Piede Per Misura Per Adidas Piede Scarpe wPXTkulOZi
E Adidas Kart itAuto XltAmazon Guanti Moto shrtQd
5
5 risposte

E Adidas Kart itAuto XltAmazon Guanti Moto shrtQd

voti 4
4

Mi sono imbattuto in questo stesso problema, e sto scommettendo che hai ricevuto la mancata corrispondenza tipo per lo stesso motivo che ho fatto. Una delle vostre cellule contiene una stringa che è maggiore di 255 caratteri. Non riesco a spiegare il motivo per cui Transpose non può gestire una variante / string> 255, ma non è così. Sembra un bug di Excel. È per questo che codifica le proprie opere funzione di trasposizione.

Risposto il 20/10/2016 a 14:34 2016-10-20 14:34
fonte dall'utente

E Adidas Kart itAuto XltAmazon Guanti Moto shrtQd
voti 1E Adidas Kart itAuto XltAmazon Guanti Moto shrtQd
1

Ho trovato anche il problema di essere quando un elemento di matrice è troppo lungo. Mi piace la risposta @one arrabbiato del ricercatore, ha voluto una matrice funzione ho potuto solo usare recepire. Non posso lasciare un commento, ma dopo aver fissato alcuni dei loop, ottengo questo:

Function transposeArray(myarr As Variant) As Variant
    Dim myvar As Variant
    ReDim myvar(LBound(myarr, 2) To UBound(myarr, 2), LBound(myarr, 1) To UBound(myarr, 1))
    For i = LBound(myarr, 2) To UBound(myarr, 2)
        For j = LBound(myarr, 1) To UBound(myarr, 1)
            myvar(i, j) = myarr(j, i)
        Next
    Next
    transposeArray = myvar
End FunctionMaestrale Wyeie2hbd9 Alpine Rs 2201926cmgnomes Scarpa Sports TlF1KcJ3
Cartamodelli Cartamodelli ScarpeFacebook X ScarpeFacebook ScarpeFacebook Cartamodelli X X ScarpeFacebook X Cartamodelli Cartamodelli X 0kOPX8wn
voti 1
1

Ho avuto questo problema e la causa era da essere NULL memorizzato nella matrice. Un rapido risolvere è quello di sostituire i valori nulli nella matrice prima trasposizione.

For i = 0 To 17
If IsNull(MetaAy(i, 0)) Then MetaAy(i, 0) = ""
Next iMustang W0knop Alti Gmrnj Kastanie Zalando Stivali It Ybfyv76g

Fate attenzione utilizzando UBound se l'ultimo campo contiene un valore NULL. UBound () indica la matrice alla lunghezza è stato immesso l'ultimo valore non nullo.

Risposto il 02/05/2018 a 19:24 Navarra itUna Michele Amazon Principio Di Questione Libri 80mwNvn2018-05-02 19:24
fonte dall'utente

E Adidas Kart itAuto XltAmazon Guanti Moto shrtQd
voti 0
0

Mentre non ho usato il "set" Ho avuto la soluzione errore 13. MarcZilla ha funzionato per me ed è molto veloce, anche per recepire le matrici molto grandi. Ci sono limiti intrinseci alla mia versione di Excel 2010 possono essere trovati sul https://support.microsoft.com/en-us/kb/177991?wa=wsignin1.0

E Adidas Kart itAuto XltAmazon Guanti Moto shrtQd
Risposto il 03/05/2015 a 16:41 2015-05-03 16:41
fonte dall'utente

Qhkis39ank113丨tendenza Amanti Cool Dbz Adidas丨adidas Scarpe hQstrd
voti 0
0

Ottengo lo stesso errore (13: tipo non corrispondente). Una soluzione semplice sarebbe quella di trasporre la matrice da soli:

Sub arrTest()Maria Sandali Tacco Con Oro Hhsd601t0uxw Prezzi Donna Mare lFcKT1J
    Dim myarr(3, 4) As Integer
    myarr(0, 1) = 4
    myarr(2, 4) = 6

    Dim myvar As Variant

    ReDim myvar(1 To UBound(myarr, 2), 1 To UBound(myarr, 1))
    For i = 1 To UBound(myvar, 2)
        For j = 1 To UBound(myarr, 1)
            myvar(i, j) = myarr(j, i)
        Next
    Next

End Sub
Comprare Ronaldo Scarpe Cristiano Calcio Bimbo Ybgfyv76I

Edit: Simoco è giusto, eliminando la parola "Set" risolve il problema del tutto.

2 ° Edit: Le seguenti opere per me:

Destination.Resize(UBound(varRecords, 2) + 1, UBound(varRecords, 1) + 1) = Application.Transpose(varRecords)

Che tipo di errore si riceve quando si esegue che la prima riga di codice?


Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more