Excel - EVITAR ENVIAR LA MISMA INFORMACIÓN POR SEGUNDA VEZ

 
Vista:

EVITAR ENVIAR LA MISMA INFORMACIÓN POR SEGUNDA VEZ

Publicado por Claudia (1 intervención) el 06/05/2018 03:05:02
Buenas a todos, espero me puedan ayudar.

Tengo 2 libros de Excel. El primero tiene una Hoja "Registros" y el segundo tiene una Hoja "Consolidado".

En mi Hoja "Registros" tengo información de mis clientes, además tengo un botón "Enviar Información" q activa una macro que envía toda la información de mis clientes a la Hoja "Consolidado".

Lo q necesito es q mi macro valide lo siguiente: Si ya existen registros con el mismo nombre del sectorista en mi Hoja "Consolidado", que evite enviar la información por segunda vez, es decir que deje de funcionar mi botón "Enviar Información".

Les dejo las imágenes de la Hoja "Registros" y "Consolidado", además del código de mi macro. Gracias!


1


2

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
Sub Consolidar_En_Red()
 
    Dim respuesta As Byte
    respuesta = MsgBox("¿Está seguro de enviar su información?", vbQuestion + vbYesNo)
    If respuesta = vbYes Then
 
    Dim wbDestino As Workbook, _
    wsOrigen As Excel.Worksheet, _
    wsDestino As Excel.Worksheet, _
    rngOrigen As Excel.Range, _
    rngDestino As Excel.Range, _
    celdaDestino As String
 
    'Indica la ubicación del Libro Excel Destino
    Set wbDestino = Workbooks.Open("D:\Consolidado.xlsx")
 
    'Bloque q indica la posicion a pegar la información en DESTINO, antes se valida si se inserta por primera vez o no
    Range("A1").Select
    If IsEmpty(ActiveCell.Offset(1, 0).Value) Then
    ActiveCell.Offset(1, 0).Select
    Else
    Selection.End(xlDown).Select
    ActiveCell.Offset(1, 0).Select
    End If
    celdaDestino = ActiveCell.Address
 
    ThisWorkbook.Activate
 
    'Bloque q indica las hojas de ORIGEN y DESTINO
    Set wsOrigen = Worksheets("Registros")
    Set wsDestino = wbDestino.Worksheets("Consolidado")
 
    'Indica la celda de origen
    Const celdaOrigen = "A7"
 
    'Inicializa los rangos de ORIGEN y DESTINO
    Set rngOrigen = wsOrigen.Range(celdaOrigen)
    Set rngDestino = wsDestino.Range(celdaDestino)
 
    rngOrigen.Select
 
    If IsEmpty(ActiveCell.Offset(1, 0).Value) Then
    Range(Selection, "AK7").Select 'a5
    Else
    Range(Selection, "AK7").Select
    Range(Selection, Selection.End(xlDown)).Select
    End If
    Selection.Copy
 
    'Pegar datos en celda DESTINO
    rngDestino.PasteSpecial xlPasteValues
    Application.CutCopyMode = False
 
    'Guarda y cierra el libro de Excel DESTINO
    wbDestino.Save
    wbDestino.Close
 
    MsgBox ("Información enviada satisfactoriamente")
 
    End If
 
End Sub
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de wordexperto.com
Val: 6.108
Oro
Ha mantenido su posición en Excel (en relación al último mes)
Gráfica de Excel

EVITAR ENVIAR LA MISMA INFORMACIÓN POR SEGUNDA VEZ

Publicado por wordexperto.com (2091 intervenciones) el 06/05/2018 11:11:02
Hola Claudia:
Podías plantearte usar una sola hoja de base de datos y los informes con Tablas dinámicas. Es mucho más sencillo y eficiente.
https://wordexperto.com/
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar