Condividi tramite

Error 13( tipo non corrispondente)

Anonimo
2011-02-18T13:46:05+00:00

Buongiorno a tutti. Ho un problema con una macro postatami tempo fa che mi permette di copiare con un doppio click i dati presenti su un file in un altro file. 

Ora è successo questo: ho copiato i file per averli disponibili per l'anno in corso e far rimanere i vecchi file perchè ho bisogno di alcuni dati presenti negli stessi, anzichè ripulirli. Solo che quando vado a eseguire il codice mi esce la scritta " Error 13 ( tipo non corrispondente) ". Chiedevo se il tipo di errore prevede una correzione del codice o se aver copiato i file provochi questo errore. Vi ringrazio anticipatamente per la cortesia. Qualora ci sia bisogno metto in condivisione i file. Grazie.

Microsoft 365 e Office | Excel | Per la casa | Windows

Domanda bloccata. Questa domanda è stata eseguita dalla community del supporto tecnico Microsoft. È possibile votare se è utile, ma non è possibile aggiungere commenti o risposte o seguire la domanda.

0 commenti Nessun commento

9 risposte

Ordina per: Più utili
  1. Anonimo
    2011-02-19T10:01:08+00:00

    Purtroppo mi da lo stesso errore. Faccio una domanda stupida: quando ho fatto il copiaincolla dei file ho fatto delle modifiche ai nomi dei file stessi.

    In quello di destinazione ho aggiunto solo il nr   1

    >  ("Componente qual-quant nuovo1.xls")

    in quello da dove copiare ho cambiato il riferimento dell'anno da 2010 a 2011.

    Può essere questo che generi l'errore? Perchè sui file originali il codice funziona senza nessun problema.

    Grazie della pazienza.

    Prova a postare i due files in SkyDrive che diamo un'occhiatina. Se hai modificato correttamente i nomi in codice e files non ci dovrebbero essere problemi. Il codice che ti ho postato funziona tranquillamente, vedi qui:http://www.maurogsc.eu/prove/agenti1.zip  (ovviamente i dati sono quelli che sono, è solo per far vedere che funziona).  Considera che quello che vedi nel file postato è leggermente diverso perchè apre il file Componente qual-quant nuovo1.xls per inserire i dati e poi lo chiude.


    --

    La soluzione, il codice ed i files sono forniti *così come sono* e l’autore declina ogni responsabilità per eventuali problemi causati dalla soluzione proposta se usata impropriamente. Create e utilizzate una copia del file per le vostre prove, *prima* di utilizzare la soluzione in files importanti.

    --

    Mauro Gamberini - Microsoft© MVP(Excel)

    http://www.maurogsc.eu/

    La risposta è stata utile?

    1 persona ha trovato utile questa risposta.
    0 commenti Nessun commento
  2. Anonimo
    2011-02-18T15:28:25+00:00

    Ecco il codice:

    Public Sub registra()

      Dim wbFrom As Workbook

      Dim wbTo As Workbook

      Dim wsFrom As Worksheet

      Dim wsTo As Worksheet

      Dim rngFrom As Range

      Dim rngTo As Range

      Dim cella As Range

      Dim lWsAg As Long

      Dim lWsVen As Long

      Dim j As Long

      Dim k As Long

      Dim sAg As String

      Dim nRow As Long

      On Error GoTo registra_Error

      If MsgBox("avvio la scrittura dei dati" & vbCrLf & _

        "sui fogli degli agenti?", vbYesNo, "Conferma") <> vbYes Then Exit Sub

      With Application

        .ScreenUpdating = False

      End With

      Set wbFrom = ThisWorkbook

      Set wbTo = Workbooks("Componente qual-quant nuovo1.xls") 

      lWsAg = wbTo.Worksheets.Count - 1

      lWsVen = Application.WorksheetFunction.Min(16, wbFrom.Worksheets.Count)

        For j = 1 To lWsAg

          Set wsTo = wbTo.Worksheets(j)

          sAg = UCase(wsTo.Name)

          nRow = 11

          wsTo.Range("A11:E180").ClearContents

          For k = 1 To lWsVen

            Set wsFrom = wbFrom.Worksheets(k)

            Set rng = wsFrom.Range("R3:R87")

            For Each cella In rng

              With cella

                If UCase(.Value) = sAg Then

                  wsTo.Cells(nRow, 1).Value = .Offset(0, -15).Value

                  wsTo.Cells(nRow, 2).Value = .Offset(0, -13).Value

                  wsTo.Cells(nRow, 3).Value = .Offset(0, -5).Value

                  wsTo.Cells(nRow, 4).Value = .Offset(0, -9).Value

                  wsTo.Cells(nRow, 5).Value = .Offset(0, -6).Value

                  nRow = nRow + 1

                End If

              End With

            Next cella   **<=====**non va oltre con il debug e ritorna al punto With cellae non avvia la copia dei dati

          Next k

          MsgBox "ho copiato i dati dell'Agente:" & vbCrLf & sAg, vbInformation

        Next j

      On Error GoTo 0

      Set rng = Nothing

      Set wsTo = Nothing

      Set wbTo = Nothing

      Set wsFrom = Nothing

      Set wbFrom = Nothing

    registra_Error:

      With Application

        .ScreenUpdating = True

      End With

      If Err.Number <> 0 Then

        MsgBox "Error " & Err.Number & _

          " (" & Err.Description & ") in procedure registra of Modulo Modulo1"

      End If

    End Sub

    Non so se ti è sufficiente per capire eventualmente posto i file d'esempio. Grazie per la cortesia e pazienza.

    La risposta è stata utile?

    0 commenti Nessun commento
  3. Anonimo
    2011-02-18T14:59:37+00:00

    Buonasera Mauro, posso inserire solo il codice o è necessario che metta in condivisione i file?

    Grazie per l'interessamento.

    Come preferisci. Se il codice della routine dove hai l'errore non è lungo, posta quello segnalando la riga dove hai l'errore(quella gialla quando premi il Tasto Debug nella MsgBox). Grazie.


    --

    La soluzione, il codice ed i files sono forniti *così come sono* e l’autore declina ogni responsabilità per eventuali problemi causati dalla soluzione proposta se usata impropriamente. Create e utilizzate una copia del file per le vostre prove, *prima* di utilizzare la soluzione in files importanti.

    --

    Mauro Gamberini - Microsoft© MVP(Excel)

    http://www.maurogsc.eu/

    La risposta è stata utile?

    0 commenti Nessun commento
  4. Anonimo
    2011-02-18T14:53:59+00:00

    Buonasera Mauro, posso inserire solo il codice o è necessario che metta in condivisione i file?

    Grazie per l'interessamento.

    La risposta è stata utile?

    0 commenti Nessun commento
  5. Anonimo
    2011-02-18T14:06:46+00:00

    Buongiorno a tutti. Ho un problema con una macro postatami tempo fa che mi permette di copiare con un doppio click i dati presenti su un file in un altro file. 

    Ora è successo questo: ho copiato i file per averli disponibili per l'anno in corso e far rimanere i vecchi file perchè ho bisogno di alcuni dati presenti negli stessi, anzichè ripulirli. Solo che quando vado a eseguire il codice mi esce la scritta " Error 13 ( tipo non corrispondente) ". Chiedevo se il tipo di errore prevede una correzione del codice o se aver copiato i file provochi questo errore. Vi ringrazio anticipatamente per la cortesia. Qualora ci sia bisogno metto in condivisione i file. Grazie.

    Diveta difficile rispondere senza vedere il codice che da l'errore.


    --

    La soluzione, il codice ed i files sono forniti *così come sono* e l’autore declina ogni responsabilità per eventuali problemi causati dalla soluzione proposta se usata impropriamente. Create e utilizzate una copia del file per le vostre prove, *prima* di utilizzare la soluzione in files importanti.

    --

    Mauro Gamberini - Microsoft© MVP(Excel)

    http://www.maurogsc.eu/

    La risposta è stata utile?

    0 commenti Nessun commento