
mover datos a otra hoja segun condicion
Publicado por daxtrox (4 intervenciones) el 24/10/2021 14:54:53
Estimados, Tengo una macro que me carga los datos de un txt a una hoja de excel, los datos del txt son los siguientes.
necesito que al cargar los datos la macro me genere 1 hoja para cada dato de acuerdo con el nombre serian 3 hojas, una para los nombre A, otra para los B y otra para los C.
Les dejo el codigo
1
2
3
4
5
6
7
8
9
10
nombre Fecha Date
A 22-10-2021 17:46 1481.348
A 22-10-2021 17:46 1481.348
A 22-10-2021 17:46 1481.348
B 22-10-2021 17:46 1486.493
B 22-10-2021 17:46 1486.493
B 22-10-2021 17:46 1486.493
C 22-10-2021 18:01 1481.346
C 22-10-2021 18:01 1481.346
C 22-10-2021 18:01 1481.346
necesito que al cargar los datos la macro me genere 1 hoja para cada dato de acuerdo con el nombre serian 3 hojas, una para los nombre A, otra para los B y otra para los C.
Les dejo el codigo
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
Sub ImportaDatos()
Application.ScreenUpdating = False
Dim maybook As Workbooks
Dim ruta As String
mybook = ActiveWorkbook.Name
ruta = ActiveWorkbook.Path
ChDir ruta & "\"
mybookTxt = Dir("*.txt")
While mybookTxt <> ""
uf = Sheets("Hoja1").Range("B" & Rows.Count).End(xlUp).Row
Workbooks.OpenText mybookTxt, Origin:=xlMSDOS, StartRow:=1, DataType:=xlDelimited, TextQualifier:= _
xlDoubleQuote, ConsecutiveDelimiter:=True, Tab:=True, Semicolon:=True, _
Comma:=True, Space:=False, Other:=False, FieldInfo:=Array(Array(1, 1), _
Array(2, 1), Array(3, 1), Array(4, 1)), TrailingMinusNumbers:=True
nomtxt = ActiveSheet.Name
Sheets(nomtxt).Range("B2", Range("D2").End(xlDown)).Copy Destination:=Workbooks(mybook).Sheets("Hoja1").Cells(uf + 1, "A")
ActiveWorkbook.Close False
'Kill (mybookTxt)
mybookTxt = Dir()
Wend
Application.ScreenUpdating = False
End Sub
Valora esta pregunta


0