Ayuda con el uso del for en vb (macro)?

esta en excel la macro

dif = calendar2.Value - calendar1.Value
Range("A2") = calendar1.Value
Range("B2") = Text1.Text
For i = 0 To dif
Range("A2") = calendar1.Value
Range("B2") = Text1.Text
ActiveCell.FormulaR1C1 = Text2.Text
ActiveCell.FormulaR1C1 = calendar1.Value + i
'Selection.EntireRow.Insert
Next
hace 2 horas
- 4 días quedan para responder.
Detalles adicionales
EL PROGRAMITO QUE TENGO TIENE 2 CONTROL CALENDAR Y 2 TEXTBOX y un command botón el objetivo de este programita es que haga clic en el calendar1 y luego en el calendar2 añadiendo una información respectivamente en el text box 1 y en el textbox2 ..
se despliegue en la hoja 1 de excel desde la fecha que selecciono el usuario en el calendar1 hasta la fecha del calendar2 , desde la fila A2 porque la fila A1 se llamara fecha .
y la columna B2 Y C2 sera para la información de texto .
Pero si el usuario desea añadir una nueva información distinta , no deberá remplazar las fechas anteriores , es decir podrán haber fechas iguales pero con su respectivas notas ..
Por tanto si hubiere datos ingresados no deberá borrarlos .
Ahora si el usuario desea desea seleccionar una fecha hasta la misma fecha del mes siguiente (o sea 30 días ) igualmente .
como lo haría agradecería enormemente expertos
ENTONCES EL USER SELECCIONA 5 DE JULIO DEL 2013 y quiere como fecha tope el 9 de julio ( esto lo selecciona en el calendar2)
desde la fila 2 , porque la fila 1 debería decir "fecha" en la colmna "A2"
algo asi :
fecha nota
5 .07 2013 misa por los difuntos
6 07 2013 ídem
7 07 2013 ídem
8 07 2013 ídem
9 07 2013 ídem
10 07 de 2013 ídem
e igual si diría desde el 5 de julio al otro mes
deberá desplazrse asi
5 de julio 2013
6 de julio 2013
.
.
.
. 5 de agosto de 2013
ojo si hubiera una nueva nota para el mismo dia del 5 de julio
no deberá borrar ningún dato solo seguir escribiendo
ej
5 de julio 2013 ofrece misa por los almas del purgatorio ( no importa ) pueden haber 2 cosas pa la misma fecha .
( mi idea es hacer un programito para misas de iglesias , ya que los sacerdotrs hasta ahora anotan en cuaderno y maquina de escribir y luego se olvidan de dar misa luego que hugo ya ha pagado .

1 respuesta

Respuesta
1

Aquí te mando el código.

Private Sub CommandButton1_Click()

If Range("a2") <> "" Then

Range("a1").Activate

Selection.End(xlDown).Select

End If

dif = Calendar2.Value - Calendar1.Value

For i = 0 To dif

ActiveCell.Offset(rowoffset:=1, columnoffset:=0).Activate

ActiveCell.Value = Calendar1.Value + i

ActiveCell.Offset(0, 1).Value = TextBox1.Text

Next i

End Sub

La única diferencia con lo que quieres es que tiene un solo textbox en lugar de dos, pero no debes tener mayor problema para hacer la modificación.

Si necesitas algo mas con gusto te ayudare, si con esto es suficiente, te pido cierres la pregunta para que TODOEXPERTOS no me este mandando mensajes.

Bye

Estimado experto tu ayuda fue de gran manera , y quisiera por favor pudiera perfeccionarlo , pues al correr la macro se enlista tal como ud la programno pero con el pero que es donde quiera .

Entonces yo quisiera experto sea solamente se enliste las fechas en las columna A , desde la A2 , y si por a o b hubiere espacio vacío relllenar siempre ese espacio ademas que a lado experto se especifique los demás datos ( la intención es decir ej: por la salud de pepito y .....)

y si yo pusiera la opción misa por 30 dias se enliste con la misma intencion .

Estimado expert@ seria creo un favor completo si fuera posible

que se llame la casilla A1 fecha la a2 : INTENCION a3 : y asi

pero no logro hacerlo

gracias de igual manera ...

espero que ud pudiera ayudarme , creo que es una obra social y si lo hiciera por favor pediria su nombre para ponerlo dentro de los autores del pequeño programita .

y que mejor si hubiera como pasarle el archivo para ver si lo puede tener

carlos

Me llamo Roque, Experto me queda grande.

No entiendo que quisiste decirme con "... pero con el pero que es donde quiera ...", la macro rellena a partir de la celda a2 en adelante.

El la segunda parte de tu aclaración dices que quieres que rellene las celdas el numero de días y esta macro así lo hace.

Si me mandas un correo, te enviare la hoja de excel donde lo tengo programado y si hace todo lo que dices que debe hacer.

Bye

estimado experto

mi correo :

[email protected]

estaría gustoso en mandarte mi pequeño programita

carlos

y pues muchísimas gracias Roque

Gracias Roque el programa también es tuyo y espero seguir contando con tu ayuda ..

Gracias por tu ayuda de alguna manera desinteresada .

Yo espero pedirte pronto alguna aclaración sino hay algún problema ..

Gracias

Carlos

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas