Saltar al contenido
View in the app

A better way to browse. Learn more.

Ayuda Excel

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Simplificar Codigo Case... End Case.

publicado

Hola expertos podrian ayudarme a simplificar el codigo de mi formulario, esta dentro de un boton.

tengo dierentes condicionales, pero con un mismo resultado. podria ayudarme

e intentado con OR y <> para poder pero no es el mismo resultado.

este es el codigo que tengo en estos momentos:

  Case Is = Cells(i + 1, 7).Value = "D5": Cells(i + 1, 8).Value = "$ " &amp; Format(Resultado2 * 0.75, "#,##0.00"): Cells(i + 1, 9).Value = " " &amp; denominación
    Case Is = Cells(i + 1, 7).Value = "D6": Cells(i + 1, 8).Value = "$ " &amp; Format(Resultado2 * 0.75, "#,##0.00"): Cells(i + 1, 9).Value = " " &amp; denominación
    Case Is = Cells(i + 1, 7).Value = "K8": Cells(i + 1, 8).Value = "$ " &amp; Format(Resultado2 * 0.75, "#,##0.00"): Cells(i + 1, 9).Value = " " &amp; denominación
    Case Is = Cells(i + 1, 7).Value = "K6": Cells(i + 1, 8).Value = "$ " &amp; Format(Resultado2 * 0.75, "#,##0.00"): Cells(i + 1, 9).Value = " " &amp; denominación
    Case Is = Cells(i + 1, 7).Value = "J5": Cells(i + 1, 8).Value = "$ " &amp; Format(Resultado2 * 0.75, "#,##0.00"): Cells(i + 1, 9).Value = " " &amp; denominación
    Case Is = Cells(i + 1, 7).Value = "D9": Cells(i + 1, 8).Value = "$ " &amp; Format(Resultado2 * 0.75, "#,##0.00"): Cells(i + 1, 9).Value = " " &amp; denominación
    Case Is = Cells(i + 1, 7).Value = "C5": Cells(i + 1, 8).Value = "$ " &amp; Format(Resultado2 * 0.75, "#,##0.00"): Cells(i + 1, 9).Value = " " &amp; denominación
Case Is = Cells(i + 1, 7).Value = "G8": Cells(i + 1, 8).Value = "$ " &amp; Format(Resultado2 * 0.9, "#,##0.00"): Cells(i + 1, 9).Value = " " &amp; denominación
    Case Is = Cells(i + 1, 7).Value = "G9": Cells(i + 1, 8).Value = "$ " &amp; Format(Resultado2 * 0.9, "#,##0.00"): Cells(i + 1, 9).Value = " " &amp; denominación
    Case Is = Cells(i + 1, 7).Value = "H2": Cells(i + 1, 8).Value = "$ " &amp; Format(Resultado2 * 0.9, "#,##0.00"): Cells(i + 1, 9).Value = " " &amp; denominación
    Case Is = Cells(i + 1, 7).Value = "H3": Cells(i + 1, 8).Value = "$ " &amp; Format(Resultado2 * 0.9, "#,##0.00"): Cells(i + 1, 9).Value = " " &amp; denominación
    Case Is = Cells(i + 1, 7).Value = "H1": Cells(i + 1, 8).Value = "$ " &amp; Format(Resultado2 * 0.9, "#,##0.00"): Cells(i + 1, 9).Value = " " &amp; denominación
    Case Is = Cells(i + 1, 7).Value = "H4": Cells(i + 1, 8).Value = "$ " &amp; Format(Resultado2 * 0.9, "#,##0.00"): Cells(i + 1, 9).Value = " " &amp; denominación

como pueden ver, es una condicional de que si encuentra el numero de Cedula (D5, D6, H1, etc...) hace una multiplicacion, lo que es similar es la multiplicacion que realiza (0.75, 0.9)

Agradeceria su ayuda de corazon.

Featured Replies

publicado

Hola:

A ver que tal:


Select Case Cells(i + 1, 7).Value
Case "D5", "D6", "K8", "K6", "J5", "D9", "C5"
Cells(i + 1, 8).Value = "$ " & Format(Resultado2 * 0.75, "#,##0.00")
Cells(i + 1, 9).Value = " " & denominación
Case "G8", "G9", "H2", "H3", "H1", "D9", "H4"
Cells(i + 1, 8).Value = "$ " & Format(Resultado2 * 0.9, "#,##0.00")
Cells(i + 1, 9).Value = " " & denominación
Case Else
'...........
'...........
End Select
[/CODE]

Saludos

publicado
  • Autor

Hola macro Antonio, gracias por tu sugerencia... solo que me daba error... :( o no pude implementarlo bien

tal vez porque utilizo un

 Select Case filas &gt; 0 

pensando y analizando llege a la conclusion de utilizar el "<>" y lo implemente de la siguiente forma....

For i = 1 To filas
    Resultado2 = Cells(i + 1, 4).Value
    denominación = "MN."
    If Resultado2 = Empty Then
        Resultado2 = Cells(i + 1, 5).Value
        denominación = "USD"
    End If
Select Case filas &gt; 0
        Case Is = Cells(i + 1, 7).Value = "D5" &lt;&gt; "D6" &lt;&gt; "K8": Cells(i + 1, 8).Value = "$ " &amp; Format(Resultado2 * 0.75, "#,##0.00"):     Cells(i + 1, 9).Value = " " &amp; denominación
        Case Is = Cells(i + 1, 7).Value = "D7" &lt;&gt; "D8" &lt;&gt; "K4": Cells(i + 1, 8).Value = "$ " &amp; Format(Resultado2 * 0.9, "#,##0.00"): Cells(i + 1, 9).Value = " " &amp; denominación
        Case Is = Cells(i + 1, 7).Value = "G7" &lt;&gt; "H8" &lt;&gt; "F5": Cells(i + 1, 8).Value = "$ " &amp; Format(Resultado2 * 0.9, "#,##0.00"): Cells(i + 1, 9).Value = " " &amp; denominación
    End Select
Next i

el problema que tengo es que si no ai dato en pesos o en dolares... con la condicional If... hace una operacion de .75 ... y quiciera saber si ahy una solucion a eso por que trate de porlo de la siguiente forma y no funciona:

Case Is = Cells(i + 1, 7).Value = " ": Cells(i + 1, 8).Value = "$ " &amp; Format(Resultado2 * 1, "#,##0.00"): Cells(i + 1, 9).Value = " " &amp; denominación

Gracias 

publicado
  • Autor

Hola Macro Antonio, no he podido implementar el codigo que me facilitaste, y como yo lo puse, "<>" me da ciertos errores :S

podrias ayudarme, esto es todo lo que hace el boton, ojala puedas ayudarme

Private Sub CommandButton3_Click()

'manda una ventana de error para pedir ingresar datos del catalogo
If ComboBox2 = "" Then
NoCatForm.Show
Exit Sub
End If

'dimensiona las variables
Dim Resultado2 As Double
Dim filas As Long
Dim Numero As Integer

'filtro bucador de datos por numero de catalogo
Workbooks("BuscadorCustom4.3.xlsm").Activate
Application.ScreenUpdating = False
With Sheets("Hoja2")
    .Visible = True
    .Range("B1").CurrentRegion.Clear
        With Range("B1").CurrentRegion
            .AutoFilter 2, Criteria1:=Me.ComboBox2 &amp; "*"
            .Copy Sheets("Hoja2").Range("A1")
        End With
    .Range("A:A,D:D,K:K").Delete
    .Range("H1").Value = "COSTO"
    .Range("H1").Font.Bold = True
    .Range("I1").Value = "DENOMINACION"
    .Range("I1").Font.Bold = True
    .Select
End With

'condicional si esta en pesos o en dolares
filas = WorksheetFunction.CountA(Range("A:A")) - 1
For i = 1 To filas
    Resultado2 = Cells(i + 1, 4).Value
    denominación = "MN."
    If Resultado2 = Empty Then
        Resultado2 = Cells(i + 1, 5).Value
        denominación = "USD"
    End If

'busqueda segun la cedula y operacion para encontrar el precio costo
    Select Case filas &gt; 0
    Case Is = Cells(i + 1, 7).Value = " ": Cells(i + 1, 8).Value = "$ " &amp; Format(Resultado2 * 1, "#,##0.00"): Cells(i + 1, 9).Value = " " &amp; denominación

    Case Is = Cells(i + 1, 7).Value = "SD2": Cells(i + 1, 8).Value = "$ " &amp; Format(Resultado2 * 0.41454, "#,##0.00"): Cells(i + 1, 9).Value = " " &amp; denominación
    Case Is = Cells(i + 1, 7).Value = "TD4": Cells(i + 1, 8).Value = "$ " &amp; Format(Resultado2 * 0.13536, "#,##0.00"): Cells(i + 1, 9).Value = " " &amp; denominación
    Case Is = Cells(i + 1, 7).Value = "TD7": Cells(i + 1, 8).Value = "$ " &amp; Format(Resultado2 * 0.27918, "#,##0.00"): Cells(i + 1, 9).Value = " " &amp; denominación
    Case Is = Cells(i + 1, 7).Value = "TD2": Cells(i + 1, 8).Value = "$ " &amp; Format(Resultado2 * 0.27918, "#,##0.00"): Cells(i + 1, 9).Value = " " &amp; denominación
    Case Is = Cells(i + 1, 7).Value = "TD5": Cells(i + 1, 8).Value = "$ " &amp; Format(Resultado2 * 0.6016, "#,##0.00"): Cells(i + 1, 9).Value = " " &amp; denominación
    Case Is = Cells(i + 1, 7).Value = "TD3": Cells(i + 1, 8).Value = "$ " &amp; Format(Resultado2 * 0.18612, "#,##0.00"): Cells(i + 1, 9).Value = " " &amp; denominación
    Case Is = Cells(i + 1, 7).Value = "TD6": Cells(i + 1, 8).Value = "$ " &amp; Format(Resultado2 * 0.2115, "#,##0.00"): Cells(i + 1, 9).Value = " " &amp; denominación
    Case Is = Cells(i + 1, 7).Value = "A7": Cells(i + 1, 8).Value = "$ " &amp; Format(Resultado2 * 0.596712, "#,##0.00"): Cells(i + 1, 9).Value = " " &amp; denominación
    Case Is = Cells(i + 1, 7).Value = "A1": Cells(i + 1, 8).Value = "$ " &amp; Format(Resultado2 * 0.596712, "#,##0.00"): Cells(i + 1, 9).Value = " " &amp; denominación
    Case Is = Cells(i + 1, 7).Value = "HL1": Cells(i + 1, 8).Value = "$ " &amp; Format(Resultado2 * 0.27918, "#,##0.00"): Cells(i + 1, 9).Value = " " &amp; denominación
    Case Is = Cells(i + 1, 7).Value = "SD4": Cells(i + 1, 8).Value = "$ " &amp; Format(Resultado2 * 0.441, "#,##0.00"): Cells(i + 1, 9).Value = " " &amp; denominación
    Case Is = Cells(i + 1, 7).Value = "HL2": Cells(i + 1, 8).Value = "$ " &amp; Format(Resultado2 * 0.441, "#,##0.00"): Cells(i + 1, 9).Value = " " &amp; denominación
    'Allen Bradley  '
    Case Is = Cells(i + 1, 7).Value = "D5" &lt;&gt; "D6" &lt;&gt; "K8": Cells(i + 1, 8).Value = "$ " &amp; Format(Resultado2 * 0.75, "#,##0.00"): Cells(i + 1, 9).Value = " " &amp; denominación
    Case Is = Cells(i + 1, 7).Value = "K6" &lt;&gt; "J5" &lt;&gt; "D9": Cells(i + 1, 8).Value = "$ " &amp; Format(Resultado2 * 0.75, "#,##0.00"): Cells(i + 1, 9).Value = " " &amp; denominación
    Case Is = Cells(i + 1, 7).Value = "C5" &lt;&gt; "C2" &lt;&gt; "C3": Cells(i + 1, 8).Value = "$ " &amp; Format(Resultado2 * 0.75, "#,##0.00"): Cells(i + 1, 9).Value = " " &amp; denominación
    Case Is = Cells(i + 1, 7).Value = "C4" &lt;&gt; "C9" &lt;&gt; "H9": Cells(i + 1, 8).Value = "$ " &amp; Format(Resultado2 * 0.75, "#,##0.00"): Cells(i + 1, 9).Value = " " &amp; denominación
    Case Is = Cells(i + 1, 7).Value = "H8" &lt;&gt; "C8" &lt;&gt; "D3": Cells(i + 1, 8).Value = "$ " &amp; Format(Resultado2 * 0.75, "#,##0.00"): Cells(i + 1, 9).Value = " " &amp; denominación
    Case Is = Cells(i + 1, 7).Value = "J7" &lt;&gt; "B5" &lt;&gt; "B8": Cells(i + 1, 8).Value = "$ " &amp; Format(Resultado2 * 0.75, "#,##0.00"): Cells(i + 1, 9).Value = " " &amp; denominación
    Case Is = Cells(i + 1, 7).Value = "B4" &lt;&gt; "B3" &lt;&gt; "B7": Cells(i + 1, 8).Value = "$ " &amp; Format(Resultado2 * 0.75, "#,##0.00"): Cells(i + 1, 9).Value = " " &amp; denominación
    Case Is = Cells(i + 1, 7).Value = "B9" &lt;&gt; "B6" &lt;&gt; "E7": Cells(i + 1, 8).Value = "$ " &amp; Format(Resultado2 * 0.75, "#,##0.00"): Cells(i + 1, 9).Value = " " &amp; denominación
    Case Is = Cells(i + 1, 7).Value = "E9" &lt;&gt; "F1" &lt;&gt; "H6": Cells(i + 1, 8).Value = "$ " &amp; Format(Resultado2 * 0.75, "#,##0.00"): Cells(i + 1, 9).Value = " " &amp; denominación
    Case Is = Cells(i + 1, 7).Value = "J6" &lt;&gt; "K3" &lt;&gt; "F6": Cells(i + 1, 8).Value = "$ " &amp; Format(Resultado2 * 0.75, "#,##0.00"): Cells(i + 1, 9).Value = " " &amp; denominación
    Case Is = Cells(i + 1, 7).Value = "J2" &lt;&gt; "k7": Cells(i + 1, 8).Value = "$ " &amp; Format(Resultado2 * 0.75, "#,##0.00"): Cells(i + 1, 9).Value = " " &amp; denominación
    Case Is = Cells(i + 1, 7).Value = "G8" &lt;&gt; "G9" &lt;&gt; "H2": Cells(i + 1, 8).Value = "$ " &amp; Format(Resultado2 * 0.9, "#,##0.00"): Cells(i + 1, 9).Value = " " &amp; denominación
    Case Is = Cells(i + 1, 7).Value = "H3" &lt;&gt; "H1" &lt;&gt; "H4": Cells(i + 1, 8).Value = "$ " &amp; Format(Resultado2 * 0.9, "#,##0.00"): Cells(i + 1, 9).Value = " " &amp; denominación
    Case Is = Cells(i + 1, 7).Value = "E8" &lt;&gt; "J8" &lt;&gt; "D4": Cells(i + 1, 8).Value = "$ " &amp; Format(Resultado2 * 0.9, "#,##0.00"): Cells(i + 1, 9).Value = " " &amp; denominación
    Case Is = Cells(i + 1, 7).Value = "D7" &lt;&gt; "D8" &lt;&gt; "K4": Cells(i + 1, 8).Value = "$ " &amp; Format(Resultado2 * 0.9, "#,##0.00"): Cells(i + 1, 9).Value = " " &amp; denominación
    Case Is = Cells(i + 1, 7).Value = "E2" &lt;&gt; "E3" &lt;&gt; "C6": Cells(i + 1, 8).Value = "$ " &amp; Format(Resultado2 * 0.9, "#,##0.00"): Cells(i + 1, 9).Value = " " &amp; denominación
    Case Is = Cells(i + 1, 7).Value = "E5" &lt;&gt; "C1" &lt;&gt; "D1": Cells(i + 1, 8).Value = "$ " &amp; Format(Resultado2 * 0.9, "#,##0.00"): Cells(i + 1, 9).Value = " " &amp; denominación
    Case Is = Cells(i + 1, 7).Value = "C7" &lt;&gt; "E6" &lt;&gt; "G5": Cells(i + 1, 8).Value = "$ " &amp; Format(Resultado2 * 0.9, "#,##0.00"): Cells(i + 1, 9).Value = " " &amp; denominación
    Case Is = Cells(i + 1, 7).Value = "H7" &lt;&gt; "K2" &lt;&gt; "J4": Cells(i + 1, 8).Value = "$ " &amp; Format(Resultado2 * 0.9, "#,##0.00"): Cells(i + 1, 9).Value = " " &amp; denominación
    Case Is = Cells(i + 1, 7).Value = "J3" &lt;&gt; "F9" &lt;&gt; "F3": Cells(i + 1, 8).Value = "$ " &amp; Format(Resultado2 * 0.9, "#,##0.00"): Cells(i + 1, 9).Value = " " &amp; denominación
    Case Is = Cells(i + 1, 7).Value = "F4": Cells(i + 1, 8).Value = "$ " &amp; Format(Resultado2 * 0.9, "#,##0.00"): Cells(i + 1, 9).Value = " " &amp; denominación
    Case Is = Cells(i + 1, 7).Value = "G7" &lt;&gt; "H8" &lt;&gt; "F5": Cells(i + 1, 8).Value = "$ " &amp; Format(Resultado2 * 0.9, "#,##0.00"): Cells(i + 1, 9).Value = " " &amp; denominación
    Case Is = Cells(i + 1, 7).Value = "F8" &lt;&gt; "G6": Cells(i + 1, 8).Value = "$ " &amp; Format(Resultado2 * 0.94, "#,##0.00"): Cells(i + 1, 9).Value = " " &amp; denominación
    End Select
Next i

    With Sheets("Hoja2")
        uf = .Range("B" &amp; Rows.Count).End(xlUp).Row
        With .Cells
            .Columns.AutoFit
            .Rows.AutoFit
        End With
        .Range("C:E,G:G").Delete
        .Visible = False
    End With
    With Me.ListBox2
        .ColumnCount = 5
        .RowSource = "=Hoja2!A2:E" &amp; uf
    End With
Range("B1").AutoFilter
   With ActiveWindow
        .ScrollColumn = 2
        .ScrollRow = 2
   End With
Application.ScreenUpdating = True
End Sub

Agradaceria tu ayuda.

  • Enigma25 bloqueó este tema

Archivado

Este tema está ahora archivado y está cerrado a más respuestas.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.