| | Post: 271 | Registrato il: 03/10/2015
| Città: ALBAREDO PER SAN MARCO | Età: 44 | Utente Junior | 2003 | | OFFLINE |
|
18/05/2020 20:14 | |
Buona sera forum,nel file allegato ci sono 3 macro,il foglioA e il foglioB sono quasi "identici" ciascuno di 9763 righe è riportando dati presi dal foglio2 dopo aver nascosto e riportato valori mi sono accorto di errori gravi in altre fogli di calcoli in excel. Ora arrivo al dunque.Se inserisco il foglioB nel foglio1 nascondo e riporto tutto Ok.
Invece il problema è il foglioA.Se inserisco questo in foglio1 nascondo un valore qualsiasi e lo riporto non ho tutte le righe ,me ne mancano parecchie .L'unica differenza fra il foglioA e il foglioB sono che nel foglioA nelle righe ho certi valori uguali (ripetuti) e penso che sia la causa dell'errore anche se è molto strano perché il ciclo è sempre in orizzontale e non riesco a capire il perchè.Bisogna dunque correggere la macro "Sub Riporta",le altre 2 sono perfette.Nel foglio1 ho incollato ora il foglioA cioè quello che da problemi.Potete anche spiegarmi passo passo l'errore una volta trovato sto imparando a leggere le macro.Grazie anticipatamente Matteo.
|
|
| | Post: 46 | Registrato il: 27/12/2016
| Città: SIENA | Età: 50 | Utente Junior | Office 2019/Office 365 | | OFFLINE | |
|
19/05/2020 10:16 | |
Ciao Matteo,
io ho copiato il foglio B su foglio 1 ho selezionato il numero 5 e mi ha restituito 179 righe correttamente copiate sul foglio 2
una volta svuotato il tutto ho copiato il foglio A su foglio 1, selezionato 5 e mi ha restituito 1850 righe tutte copiate in foglio 2.
non mi sembra che ci siano problemi di funzionamento.
O ho capito male cosa dovrebbe fare? ---
pensa bene a quello che cerchi, allega un file di esempio, prova il registratore di macro, imparerai e potresti già avere la soluzione |
| | Post: 271 | Registrato il: 03/10/2015
| Città: ALBAREDO PER SAN MARCO | Età: 44 | Utente Junior | 2003 | | OFFLINE |
|
19/05/2020 17:57 | |
Buonasera Duccio per il valore 5 la macro mi restituisce 2024 righe foglioB invece per il foglioA ho 1850 righe di restituzione,come vedi
me ne mancano 174.Per far si che la macro funziona correttamente deve
restituire per valore 5 2024 righe sia per foglioA che per foglioB. Saluti Matteo
|
|
20/05/2020 01:40 | |
>>>il foglioA e il foglioB sono quasi "identici"
Sub confronta()
Dim Ur, x, y, rg, A, B
Sheets("Foglio2").Cells = ""
Ur = Sheets("FoglioA").Range("A" & Rows.Count).End(xlUp).Row
rg = 2
Sheets("Foglio2").Cells(1, 2) = "FoglioA"
Sheets("Foglio2").Cells(1, 4) = "FoglioB"
For x = 1 To Ur
A = Application.WorksheetFunction.CountIf(Sheets("FoglioA").Range("B" & x & ":U" & x), 5)
B = Application.WorksheetFunction.CountIf(Sheets("FoglioB").Range("B" & x & ":U" & x), 5)
If A > 0 Or B > 0 Then
If A = 0 Or B = 0 Then
Sheets("Foglio2").Cells(rg, 2) = A
Sheets("Foglio2").Cells(rg, 3) = "Riga " & x
Sheets("Foglio2").Cells(rg, 4) = B
rg = rg + 1
End If
End If
Next
Sheets("Foglio2").Columns("B:D").AutoFit
End Sub |
| | Post: 47 | Registrato il: 27/12/2016
| Città: SIENA | Età: 50 | Utente Junior | Office 2019/Office 365 | | OFFLINE | |
|
20/05/2020 09:46 | |
Ciao Matteo,
le macro funzionano correttamente e danno i risultati che ha detto anche ABCDEF@Excel. Perché dovrebbero dare risultati uguali se i dati di partenza non lo sono.
---
pensa bene a quello che cerchi, allega un file di esempio, prova il registratore di macro, imparerai e potresti già avere la soluzione |
| | Post: 272 | Registrato il: 03/10/2015
| Città: ALBAREDO PER SAN MARCO | Età: 44 | Utente Junior | 2003 | | OFFLINE |
|
20/05/2020 18:24 | |
Grazie ABCDEF@Excel per la macro Sub confronta() che mi ha permesso di capire il perché complimenti per questa macro bellissima non riesco però a capacitarmi e sto cercando di capire il perché ;
i due fogli hanno 9763 righe. Questo si chiama (Parvenza di vero creata ad arte per far cadere in errore )Grazie anche A Duccio
Saluti Matteo |
| | Post: 273 | Registrato il: 03/10/2015
| Città: ALBAREDO PER SAN MARCO | Età: 44 | Utente Junior | 2003 | | OFFLINE |
|
20/05/2020 19:18 | |
Ciao Duccio73 ,ciao ABCDEF@Excel , ora è tutto chiaro sono riuscito a
capire grazie alla macro (Sub confronta) grazie a tutte e due. Saluti Matteo |
|
|