Error en Como se guardan mis datos.

Dante disculpa que te moleste de nuevo, mira ayer te consulte sobre un formato condicional de porcentaje, la verdad es que me funciono bastante bien, pero fíjate que hoy me acabo de dar cuenta que al momento de guardar mis datos de una hoja de captura, en lugar que colocármelos en la posición dos de la hoja me la coloca hasta la posición 10001, no se si te pueda enviar mi archivo y me pudieras ayudar.

1 respuesta

Respuesta
1

Sí, envíame tu archivo y me explicas paso a paso qué debo hacer.

Mi correo [email protected]

En el asunto del correo escribe tu nombre de usuario “chris quiroz” y el título de esta pregunta.

¡Gracias! 

Te enviado el correo.

:)

El problema no es el formato condicional, el problema es que tienes estas instrucciones:

    Set TransRowRng = ThisWorkbook.Worksheets("Datos").Cells(1, 1).CurrentRegion
    NewRow = TransRowRng.Rows.Count + 1

Lo que hiciste fue ampliar tu tabla1 en la hoja "datos" hasta la fila 1001. Entonces, lo que hace la macro es obtener la cuenta de filas en CurrentRegion, y la "región actual" abarca hasta la fila 1001, si 1001, le sumas 1, entonces NewRow es igual a 1002, y es ahí donde te guarda los datos.

Para no entrar en conflicto con CurrentRegion, cambié la instrucción por un Do while, para encontrar la primera fila vacía.

'MACRO PARA GUARDAR DATOS
'Antes de este macro se ejecuta el modulo 1
Option Explicit
Sub Captura_Datos()
'Act.Por.Dante Amor
'Declaración de variables
'
    Dim strTitulo As String
    Dim Continuar As String
    Dim TransRowRng As Range
    Dim NewRow As Integer
    Dim limpiar As String
    '
    If ThisWorkbook.Sheets(1).Range("K9") = "" Then
        MsgBox "Falta el folio", vbCritical
        Exit Sub
    End If
    '
    Continuar = MsgBox("Registrarlos datos?", vbYesNo + vbExclamation, "Captura de Datos")
    If Continuar = vbNo Then Exit Sub
    NewRow = 2
    With ThisWorkbook.Worksheets("Datos")
        Do While .Cells(NewRow, 1) <> ""
            NewRow = NewRow + 1
        Loop
        'Guarda el folio en la primera casilla
        . Cells(NewRow, 1).Value = ThisWorkbook. Sheets(1). Range("K9")
        'guarda la fecha en la columna 2 en la hoja datos
        .Cells(NewRow, 2).Value = Date
        'Modelo
        . Cells(NewRow, 3).Value = ThisWorkbook. Sheets(1). Range("G11")
        'Area en la que se presento
        . Cells(NewRow, 4).Value = ThisWorkbook. Sheets(1). Range("G13")
        'Descripcion del defecto
        . Cells(NewRow, 5).Value = ThisWorkbook. Sheets(1). Range("G17")
        'Numero de piezas
        . Cells(NewRow, 6).Value = ThisWorkbook. Sheets(1). Range("G15")
        'Descripcion del problema
        . Cells(NewRow, 7).Value = ThisWorkbook. Sheets(1). Range("G9")
        'NO DE JOB
        . Cells(NewRow, 8).Value = ThisWorkbook. Sheets(1). Range("G19")
        'Causa Raiz
        . Cells(NewRow, 9).Value = ThisWorkbook. Sheets(1). Range("N15")
        'guarda hacer, quien lo hara y status (estan combinados para que se muestre en la base de datos de tal manera
        . Cells(NewRow, 10).Value = ThisWorkbook. Sheets(1). Range("T9")
        . Cells(NewRow, 11).Value = ThisWorkbook. Sheets(1). Range("AA9")
        . Cells(NewRow, 13).Value = ThisWorkbook. Sheets(1). Range("T11")
        . Cells(NewRow, 14).Value = ThisWorkbook. Sheets(1). Range("AA11")
        . Cells(NewRow, 16).Value = ThisWorkbook. Sheets(1). Range("T13")
        . Cells(NewRow, 17).Value = ThisWorkbook. Sheets(1). Range("AA13")
        . Cells(NewRow, 19).Value = ThisWorkbook. Sheets(1). Range("T15")
        . Cells(NewRow, 20).Value = ThisWorkbook. Sheets(1). Range("AA15")
        . Cells(NewRow, 22).Value = ThisWorkbook. Sheets(1). Range("T17")
        . Cells(NewRow, 23).Value = ThisWorkbook. Sheets(1). Range("AA17")
        'guarda datos de fecha inicio y fin
        .Cells(NewRow, 25).Value = Date
        . Cells(NewRow, 26).Value = ThisWorkbook. Sheets(1). Range("AD10")
        'GUARDA 6 M´s
        . Cells(NewRow, 27).Value = ThisWorkbook. Sheets(1). Range("AE9")
        'guarda participantes en el llenado
        . Cells(NewRow, 28).Value = ThisWorkbook. Sheets(1). Range("AF9")
        'guarda recurrente
        . Cells(NewRow, 29).Value = ThisWorkbook. Sheets(1). Range("AG9")
    End With
'
    MsgBox "Datos almacenados.", vbInformation, strTitulo 'mensaje de que los datos han sido guardados
    Call Module5.incrementar
    'Call Module5.EnviarCorreo
    limpiar = MsgBox("Limpiar Celdas?", vbYesNo, strTitulo) 'mensaje de pregunta, limpiar celdas?
    If limpiar = vbYes Then 'coloca respuesta
        Call Module3.limpiar 'si es Si llama al macro limpiar, si es NO se queda igual
    Else
    End If
End Sub
'S aludos. Dante Amor. Recuerda valorar la respuesta. G racias

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas