Problema Macro VB
Bloccato
-
domenica 20 novembre 2011 12:12ciao a tutti ho un problemino con una macro di excel scritta in vb, questa macro prende i campi che ci sono in un file che si chiama anagrafica, ci compie delle operazioni sopra e poi li inserisce in un altro foglio chiamato contatti da importare che ha il nome delle colonne pre impostato. Il problema sorge dal fatto che anagrafica ora ha 4 nuovi campi, e che non vengono importati in contatti da importare, non so proprio come risolvere, mi date una mano? Grazie in anticipo
Sub Riorganizza()Sheets("Contatti").SelectRange("A2:iV65536").SelectSelection.ClearContentsSheets("Città").SelectSelection.QueryTable.Refresh BackgroundQuery:=FalseSheets("Anagrafica").SelectSelection.QueryTable.Refresh BackgroundQuery:=FalseFor Each i In Range("A2:A65536")If i.Value = "" ThenRIGHE = i.Row - 1Exit ForEnd IfNext iIntervallo = "E2:E" + LTrim(Str(RIGHE))Range(Intervallo).SelectSelection.CutSheets("Contatti").SelectRange("A2").SelectActiveSheet.PasteSheets("Anagrafica").SelectIntervallo = "F2:F" + LTrim(Str(RIGHE))Range(Intervallo).SelectSelection.CutSheets("Contatti").SelectRange("B2").SelectActiveSheet.PasteSheets("Anagrafica").SelectIntervallo = "D2:D" + LTrim(Str(RIGHE))Range(Intervallo).SelectSelection.CutSheets("Contatti").SelectRange("C2").SelectActiveSheet.PasteSheets("Anagrafica").SelectIntervallo = "M2:M" + LTrim(Str(RIGHE))Range(Intervallo).SelectSelection.CutSheets("Contatti").SelectRange("D2").SelectActiveSheet.PasteSheets("Anagrafica").SelectIntervallo = "H2:H" + LTrim(Str(RIGHE))Range(Intervallo).SelectSelection.CutSheets("Contatti").SelectRange("E2").SelectActiveSheet.PasteSheets("Anagrafica").SelectIntervallo = "I2:I" + LTrim(Str(RIGHE))Range(Intervallo).SelectSelection.CutSheets("Contatti").SelectRange("F2").SelectActiveSheet.PasteSheets("Anagrafica").SelectIntervallo = "V2:V" + LTrim(Str(RIGHE))Range(Intervallo).SelectSelection.CutSheets("Contatti").SelectRange("H2").SelectActiveSheet.PasteSheets("Anagrafica").SelectIntervallo = "W2:W" + LTrim(Str(RIGHE))Range(Intervallo).SelectSelection.CutSheets("Contatti").SelectRange("I2").SelectActiveSheet.PasteSheets("Anagrafica").SelectIntervallo = "X2:X" + LTrim(Str(RIGHE))Range(Intervallo).SelectSelection.CutSheets("Contatti").SelectRange("J2").SelectActiveSheet.PasteSheets("Anagrafica").SelectIntervallo = "Y2:Y" + LTrim(Str(RIGHE))Range(Intervallo).SelectSelection.CutSheets("Contatti").SelectRange("L2").SelectActiveSheet.PasteSheets("Anagrafica").SelectIntervallo = "Z2:Z" + LTrim(Str(RIGHE))Range(Intervallo).SelectSelection.CutSheets("Contatti").SelectRange("M2").SelectActiveSheet.PasteSheets("Anagrafica").SelectIntervallo = "AA2:AA" + LTrim(Str(RIGHE))Range(Intervallo).SelectSelection.CutSheets("Contatti").SelectRange("N2").SelectActiveSheet.PasteSheets("Anagrafica").SelectIntervallo = "AD2:AD" + LTrim(Str(RIGHE))Range(Intervallo).SelectSelection.CutSheets("Contatti").SelectRange("S2").SelectActiveSheet.PasteSheets("Anagrafica").SelectIntervallo = "AE2:AE" + LTrim(Str(RIGHE))Range(Intervallo).SelectSelection.CutSheets("Contatti").SelectRange("T2").SelectActiveSheet.PasteSheets("Anagrafica").SelectIntervallo = "G2:G" + LTrim(Str(RIGHE))Range(Intervallo).SelectSelection.CutSheets("Contatti").SelectRange("W2").SelectActiveSheet.PasteSheets("Anagrafica").SelectIntervallo = "B2:B" + LTrim(Str(RIGHE))Range(Intervallo).SelectSelection.CutSheets("Contatti").SelectRange("BF2").SelectActiveSheet.PasteSheets("Anagrafica").SelectIntervallo = "C2:C" + LTrim(Str(RIGHE))Range(Intervallo).SelectSelection.CutSheets("Contatti").SelectRange("AQ2").SelectActiveSheet.PasteSheets("Anagrafica").SelectIntervallo = "AC2:AC" + LTrim(Str(RIGHE))Range(Intervallo).SelectSelection.CutSheets("Contatti").SelectRange("CE2").SelectActiveSheet.PasteSheets("Anagrafica").SelectIntervallo = "U2:U" + LTrim(Str(RIGHE))Range(Intervallo).SelectSelection.CutSheets("Contatti").SelectRange("AG2").SelectActiveSheet.PasteSheets("Anagrafica").SelectIntervallo = "P2:P" + LTrim(Str(RIGHE))Range(Intervallo).SelectSelection.CutSheets("Contatti").SelectRange("Q2").SelectActiveSheet.PasteSheets("Anagrafica").SelectIntervallo = "R2:R" + LTrim(Str(RIGHE))Range(Intervallo).SelectSelection.CutSheets("Contatti").SelectRange("R2").SelectActiveSheet.PasteSheets("Anagrafica").SelectIntervallo = "T2:T" + LTrim(Str(RIGHE))Range(Intervallo).SelectSelection.CutSheets("Contatti").SelectRange("AB2").SelectActiveSheet.PasteIntervallo = "H2:H" + LTrim(Str(RIGHE))For Each i In Range(Intervallo)If i.Value <> "" Theni.Value = Mid(i.Value, 9, Len(i.Value))End IfNext iIntervallo = "R2:R" + LTrim(Str(RIGHE))For Each i In Range(Intervallo)If i.Value <> "" Theni.Value = i.Value / 100End IfNext iIntervallo = "Q2:Q" + LTrim(Str(RIGHE))For Each i In Range(Intervallo)If i.Value <> "" Theni.Value = i.Value / 100End IfNext iIntervallo = "I2:I" + LTrim(Str(RIGHE))For Each i In Range(Intervallo)If i.Value <> "" Theni.Value = Mid(i.Value, 10, Len(i.Value))End IfNext iIntervallo = "J2:J" + LTrim(Str(RIGHE))For Each i In Range(Intervallo)If i.Value <> "" Theni.Value = Mid(i.Value, 5, Len(i.Value))End IfNext iIntervallo = "L2:L" + LTrim(Str(RIGHE))For Each i In Range(Intervallo)If i.Value <> "" Theni.Value = Mid(i.Value, 10, Len(i.Value))End IfNext iIntervallo = "M2:M" + LTrim(Str(RIGHE))For Each i In Range(Intervallo)If i.Value <> "" Theni.Value = Mid(i.Value, 10, Len(i.Value))End IfNext iIntervallo = "N2:N" + LTrim(Str(RIGHE))For Each i In Range(Intervallo)If i.Value <> "" Theni.Value = Mid(i.Value, 12, Len(i.Value))End IfNext iIntervallo = "S2:S" + LTrim(Str(RIGHE))For Each i In Range(Intervallo)If i.Value <> "" Theni.Value = Mid(i.Value, 6, Len(i.Value))End IfNext iIntervallo = "T2:T" + LTrim(Str(RIGHE))For Each i In Range(Intervallo)If i.Value <> "" Theni.Value = Mid(i.Value, 8, Len(i.Value))End IfNext iIntervallo = "BF2:BF" + LTrim(Str(RIGHE))For Each i In Range(Intervallo)If i.Value <> "" Theni.Value = Mid(i.Value, 6, Len(i.Value))End IfNext iSheets("Anagrafica").SelectIntervallo = "J2:J" + LTrim(Str(RIGHE))For Each i In Range(Intervallo)If i.Value <> "" ThenRIGA = i.RowCAP1 = "00000" + Trim(i.Value)CAP1 = Trim(Mid(CAP1, Len(CAP1) - 4, 5))Sheets("Città").SelectIntervallo2 = "D2:D" + LTrim(Str(14502))For Each I2 In Range(Intervallo2)CAP2 = "00000" + Trim(I2.Value)CAP2 = Trim(Mid(CAP2, Len(CAP2) - 4, 5))If CAP1 = CAP2 ThenIDCITTA = I2.Row - 1Sheets("Contatti").SelectRange("G" + LTrim(Str(RIGA))).Value = IDCITTAi.ClearExit ForEnd IfNext I2Sheets("Anagrafica").SelectEnd IfNext iSheets("Contatti").SelectIntervallo = "G2:G" + LTrim(Str(RIGHE))For Each i In Range(Intervallo)If i.Value = "" ThenRIGA = i.RowSheets("Anagrafica").SelectPROVINCIA = Range("L" + LTrim(Str(RIGA))).ValueSheets("Città").SelectIntervallo2 = "C2:C" + LTrim(Str(14502))For Each I2 In Range(Intervallo2)PROVINCIA2 = Trim(I2.Value)If PROVINCIA = PROVINCIA2 ThenIDCITTA = I2.Row - 1Sheets("Contatti").SelectRange("G" + LTrim(Str(RIGA))).Value = IDCITTASheets("Anagrafica").SelectRange("L" + LTrim(Str(RIGA))).ClearExit ForEnd IfNext I2Sheets("Anagrafica").SelectEnd IfNext iSheets("Città").SelectRange("A2").SelectSheets("Anagrafica").SelectRange("A2").SelectSheets("Contatti").SelectRange("A2").SelectMsgBox ("Elaborazione terminata.")End Sub- Tipo modificato Irina TurcuMicrosoft Contingent Staff, Owner giovedì 24 novembre 2011 12:15
Tutte le risposte
-
giovedì 24 novembre 2011 12:11Proprietario
Ciao NicolaDiRienzo,
Siccome il tuo thread originale è già stato spostato sul forum appropriato, chiudiamo qua questo thread e lasciamo la discussione a proseguire sull’altro.
Grazie per la comprensione,
Irina Turcu
Questo contenuto è distribuito “as is” e non implica alcuna responsabilità da parte di Microsoft. L'azienda offre questo servizio gratuitamente, allo scopo di aiutare gli utenti e farli aumentare la conoscenza sui prodotti e le tecnologie Microsoft.




