Es posible combinar If y With, o debo anidar en varios If?

He definido a través de un procedimiento el armar una orden de compra, como es dirigido a 4 posibles países Dinamarca, Suecia, Noruega y Alemania, he considerado que la orden de compra debe generarse en los cuatro idiomas, pero en mi primer intento tuve problemas con el cambio de nombre de las columnas, código y nombre del producto, precio y cantidad, y creo que es porque éstas afectan el procedimiento del cálculo de la orden de compra.

Mi procedimiento original es:

Private Sub Gå_til_ordre()

Sheets("Varetabel"). Activate

Range("B4"). Activate

Do

   If ActiveCell.Offset(0, 3) > 0 Then '3 columnas adicionales a la celda activa

   Varenummer = ActiveCell.Value

   Varenavn = ActiveCell.Offset(0, 1).Value

   Stykpris = ActiveCell.Offset(0, 2).Value

   Antal = ActiveCell.Offset(0, 3).Value

   Sheets("Ordre").Activate

   Range("B12").Activate

  Do

 ActiveCell.Offset(1, 0).Activate ' Avanza una fila abajo

  Loop Until ActiveCell.Value = "" ' las comillas significan sin contenido

  With ActiveCell

     .Offset(0, 0) = Varenummer

     .Offset(0, 1) = Varenavn

     .Offset(0, 2) = Stykpris

     .Offset(0, 3) = Antal

     .Offset(0, 4) = Stykpris * Antal

    End With

   Sheets("Varetabel").Activate

    End If

    ActiveCell.Offset(1, 0).Activate 

    Loop Until ActiveCell.Value = "" 

 End sub

Lo que está en negrilla es lo que deseo cambiar en función del país.

Pregunta: Puedo hacerlo con If y With; con If anidadas; Select Case u otra alternativa?

1 respuesta

Respuesta
1

Pues lo más simple que se me ocurre es, que definas la función que hace la carga y proceso

y luego con SELECT CASE la ejecutas para cada PAÍS, ¿En cada caso me parece que el cálculo es el mismo no? Y te simplificas la vida.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas