Soy muy nuevo en la codificación de VBA, me gustaría recibir ayuda, ya que lo he estado intentando durante dos días, tengo los datos corregidos en la columna A, me gustaría buscar una cadena en esa columna, por ejemplo, fecha de declaración, si se encuentra, extraiga la fecha y cree una nueva columna en la siguiente hoja2, Fecha de declaración de lugar como encabezado y 01/01/2008 como detalle, agregue la siguiente ocurrencia si se encuentra. Aquí está mi código de novato.
Sub testing44()
Dim intPasteRow As Integer
intPasteRow = 1
Dim intRow As Integer
Dim Found As Range, FirstFound As String
Sheets("Sheet1").Select
Columns("B:B").Select
On Error Resume Next
Selection.Find(What:="STATEMENT DATE *", After:=ActiveCell, LookIn:= _
xlFormulas, LookAt:=xlWhole, SearchOrder:=xlByRows, SearchDirection:= _
xlNext, MatchCase:=False, SearchFormat:=False).Activate
If Err.Number = 91 Then
MsgBox "ERROR: 'STATEMENT DATE:' could not be found."
End
End If
On Error Resume Next
Selection.Find(What:="INITIAL MARGIN", After:=ActiveCell, LookIn:= _
xlFormulas, LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:= _
xlNext, MatchCase:=False, SearchFormat:=False).Activate
If Err.Number = 91 Then
MsgBox "ERROR: 'INITIAL MARGIN' could not be found."
End
End If
intRow = ActiveCell.Row
Rows(intRow & ":" & intRow).Select
Selection.Copy
Sheets("Sheet2").Select
Range("A" & intPasteRow).Select
ActiveSheet.Paste
Sheets("Sheet2").Select
Rows(intRow + 1 & ":" & intRow).Select
End Sub
microsoft-excel-2010
vba
macros
usuario308401
fuente
fuente
Respuestas:
No está exactamente claro lo que está tratando de hacer, pero según lo que nos ha dicho hasta ahora, tengo algunas sugerencias específicas:
Al crear nuevas hojas a partir de datos existentes, generalmente `` paso '' a través de los datos iniciales en un bucle, buscando las características que me interesan, luego copio toda la fila (o celdas particulares que me interesan) a la nueva hoja remar a la vez. Lo que no está claro para mí, ¿cuántas hojas nuevas creará su programa? Si hay más de dos, le sugiero que reconsidere el ejercicio.
Esto hace que su software sea mucho más simple de implementar
- Considere crear una SOLA hoja de salida. Agregue una columna para "fecha de estado de cuenta", luego utilice la opción "filtro - autofiltro" para permitir que sus usuarios finales seleccionen por sí mismos qué es qué.
Es más fácil si los datos comienzan como filas, hacen la macro, crean filas como salida. Diré, lo que hace que esta copia sea un poco complicada es si los campos de entrada de datos individuales originales están en formato de cadena o formato de número.
Si insiste en una nueva hoja para cada "fecha de estado de cuenta" y necesita datos de columna, como último paso en su macro, transponga las filas a una (s) columna (s)
fuente