Ritorno dopo un pò di tempo.
In pratica nel file COVID-19 VFL8MINUS.xlsm il pulsante importa dati mi prende i dati da un secondo file ELEDIP.csv
ma nell'importazione le date di nascita non mantengono il formato data corretto.
Nel CSV d'esempio: il sig. SCRIVIMI ANTONIO è nato il 07/10/1988 ma ottengo 10/07/1988.
- Codice: Seleziona tutto
Sub EstraiDati()
Dim FileDiPartenza As Workbook
Dim FoglioDiPartenza As Worksheet
Dim PrimaColonnaDellaTabellaDiPartenza As Range
Dim FoglioDiArrivo As Worksheet
Dim PrimaColonnaDellaTabelladiArrivo As Range
Dim StatoDiSicurezza As MsoAutomationSecurity
Dim cella As Range
righe = Cells(Rows.Count, 1).End(xlUp).Row
For I = righe To 3 Step -1 'ex 1
Cells(I, 1).Select
If Selection.Value <> "" Then Selection.EntireRow.ClearContents
Next I
StatoDiSicurezza = Application.AutomationSecurity
Application.AutomationSecurity = msoAutomationSecurityForceDisable
Set FileDiPartenza = Workbooks.Open("U:\MAIN_MENU\Safety Factory\6_Tools&Utility(TeU)\TeU_Anagrafica" & "/ELEDIP.csv") 'ex ThisWorkbook.Path &
Application.AutomationSecurity = StatoDiSicurezza
Dim uRiga As Long
Dim fg As Integer
For fg = 1 To 1
If fg = 1 Then Set FoglioDiPartenza = FileDiPartenza.Worksheets("ELEDIP")
'If fg = 2 Then Set FoglioDiPartenza = FileDiPartenza.Worksheets("anagrafica (2)")
With FoglioDiPartenza
Set PrimaColonnaDellaTabellaDiPartenza = .Range(.Cells(2, 1).Address, .Cells(.Rows.Count, 1).End(xlUp).Address) 'ex .Range(.Cells(2, 1)
End With
With Foglio2
Set PrimaColonnaDellaTabelladiArrivo = .Range(.Cells(2, 1).Address, .Cells(.Rows.Count, 1).End(xlUp).Address)
End With
For Each cella In PrimaColonnaDellaTabellaDiPartenza
If Not LCase(cella.Offset(0, 14).Value) = "no" Then
With PrimaColonnaDellaTabelladiArrivo
With .Cells(.Rows.Count).Offset(1)
.Value = cella.Offset(0, 5).Value 'cognome
.Offset(0, 1).Value = cella.Offset(0, 6).Value 'nome
.Offset(0, 2).Value = cella.Offset(0, 15).Value 'data di nascita 'ex (0, 14)
.Offset(0, 3).Value = cella.Offset(0, 7).Value 'CF
.Offset(0, 4).Value = cella.Offset(0, 18).Value 'Sesso (0, 17)
.Offset(0, 5).Value = Trim(Mid(cella.Offset(0, 22).Value, 14)) ' Stabilimento (usato trim per spazi vuoti nel testo)(0, 21)
.Offset(0, 6).Value = cella.Offset(0, 5).Value & " " & cella.Offset(0, 6).Value
'.Offset(0, 6).Value = cella.Offset(0, 14).Value
End With
End With
With Foglio2
Set PrimaColonnaDellaTabelladiArrivo = .Range(.Cells(1, 1).Address, .Cells(.Rows.Count, 1).End(xlUp).Address)
End With
End If
Next
Next fg
Application.DisplayAlerts = False
FileDiPartenza.Close savechanges:=0
Application.DisplayAlerts = True
Call Metti_Bordi
Call OrdineAlfabetico
Grazie per l'aiuto.
Gene
STAY SAFE
https://www.dropbox.com/s/hhq0q1w4t8qrnkl/DataCSV.rar?dl=0