Con todas las hojas

ColdGeorge

Active Member
Joined
Aug 21, 2012
Messages
412
Office Version
  1. 2016
Platform
  1. Windows
Hola amigos

Uso este código para introducir un valor en una celda en cada hoja del libro
Code:
 Dim ws As Worksheet
For Each ws In ThisWorkbook.Worksheets
    ws.Range("A1") = "IRMA"
Next ws
Como hago para usar un InputBox para introducir el rango y otro para el valor?

Saludos ColdGeorge
 

Excel Facts

Back into an answer in Excel
Use Data, What-If Analysis, Goal Seek to find the correct input cell value to reach a desired result
Hola amigos

Esto es lo que he logrado:

Code:
Dim ws As Worksheet
Dim myval As String
myval = InputBox("Introduce un Valor")
For Each ws In ThisWorkbook.Worksheets
ws.Range("A1") = myval
Next ws

Pero aun deseo introducir el rango con un InputBox, gracias por adelantado.

ColdGeorge
 
Upvote 0
Usted puede usar el commando Application.InputBox, especificando un tipo de 8

Code:
Let v = Application.InputBox(Prompt:="Indique el rango", _
                                 Title:="Rango", _
                                 Type:=8)

Pero el variable "v" será el valor de la celda indicada, no la celda en sí. Entonces no hay manera de introducir un rango de forma que usted puede leer la dirección. Lo que used puede hacer es pedir un String que será la dirección de la celda deseada (o el nombre de la celda si usted le ha dado uno).

<font face="Courier New", Monospace><SPAN style="color:#00007F">Sub</SPAN> Foo()<br><br>    <SPAN style="color:#00007F">Dim</SPAN> rngTest <SPAN style="color:#00007F">As</SPAN> Excel.Range, _<br>        strAddr <SPAN style="color:#00007F">As</SPAN> <SPAN style="color:#00007F">String</SPAN>, _<br>        strVal  <SPAN style="color:#00007F">As</SPAN> <SPAN style="color:#00007F">String</SPAN>, _<br>        wsItem  <SPAN style="color:#00007F">As</SPAN> Excel.Worksheet<br><br>    <SPAN style="color:#00007F">Let</SPAN> strVal = InputBox("Introduzca un valor")<br>    <br>    <SPAN style="color:#00007F">Let</SPAN> strAddr = Application.<SPAN style="color:#00007F">In</SPAN>putBox(Prompt:="Indique el rango", _<br>                                       Title:="Rango", _<br>                                       Type:=2)<br>    <br>    <SPAN style="color:#00007F">On</SPAN> <SPAN style="color:#00007F">Error</SPAN> <SPAN style="color:#00007F">Resume</SPAN> <SPAN style="color:#00007F">Next</SPAN><br>    <SPAN style="color:#00007F">Set</SPAN> rngTest = ThisWorkbook.Worksheets(1).Range(strAddr)<br>    <br>    <SPAN style="color:#00007F">If</SPAN> Err.Number <> 0 <SPAN style="color:#00007F">Then</SPAN><br>        MsgBox "¿Oye, acaso no estaba prestando atención?" & vbCr & vbCr _<br>               & "¡La dirección que me dio no funcionó!", vbCritical<br>        <SPAN style="color:#00007F">Exit</SPAN> <SPAN style="color:#00007F">Sub</SPAN><br>    <SPAN style="color:#00007F">End</SPAN> <SPAN style="color:#00007F">If</SPAN><br>        <br>    <SPAN style="color:#00007F">For</SPAN> <SPAN style="color:#00007F">Each</SPAN> ws In ThisWorkbook.Worksheets<br>        ws.Range(strAddr) = strVal<br>    <SPAN style="color:#00007F">Next</SPAN> ws<br><br><SPAN style="color:#00007F">End</SPAN> <SPAN style="color:#00007F">Sub</SPAN><br></FONT>

La otra solución sería emplear un UserForm con un control RegEdit pero esa solución es bastante más complicado.
 
Upvote 0
Hola Greg

Voy a probar tu sugerencia y te comentare que sucedió gracias.

ColdGeorge
 
Upvote 0
Greg, gracias.

En el trabajo uso un archivo con ocho hojas iguales, excepto su nombre, ahora es posible capturar la información mucho mas rápido.

ColdGeorge
 
Upvote 0
Al leer lo que escribí aquí:

...Lo que used puede hacer es pedir un String que será la dirección
de la celda deseada (o el nombre de la celda si usted le ha dado uno)....

creo que debo explicar más, para ColdGeorge y para cualquier lector futuro. Si uno piense usar un rango nombrado tendría que ser un rango nombrado a nivel de la hoja y no al nivel del cuaderno y tendría que ser un nombre que existe en todas las hojas del cuaderno al menos que uno va a atrapar el error levantado por la ausencía de tal en ciertas hojas.
 
Upvote 0
Hola Greg

No estoy seguro si es mejor abrir otra pregunta o continuar aquí, ¿Dónde debo colocar este código para que al escribir un valor en una celda, el valor entre en la misma celda de todas las hojas del libro?

Es decir, sin usar los InputBox, saludos, ColdGeorge.
 
Upvote 0

Forum statistics

Threads
1,223,943
Messages
6,175,547
Members
452,652
Latest member
eduedu

We've detected that you are using an adblocker.

We have a great community of people providing Excel help here, but the hosting costs are enormous. You can help keep this site running by allowing ads on MrExcel.com.
Allow Ads at MrExcel

Which adblocker are you using?

Disable AdBlock

Follow these easy steps to disable AdBlock

1)Click on the icon in the browser’s toolbar.
2)Click on the icon in the browser’s toolbar.
2)Click on the "Pause on this site" option.
Go back

Disable AdBlock Plus

Follow these easy steps to disable AdBlock Plus

1)Click on the icon in the browser’s toolbar.
2)Click on the toggle to disable it for "mrexcel.com".
Go back

Disable uBlock Origin

Follow these easy steps to disable uBlock Origin

1)Click on the icon in the browser’s toolbar.
2)Click on the "Power" button.
3)Click on the "Refresh" button.
Go back

Disable uBlock

Follow these easy steps to disable uBlock

1)Click on the icon in the browser’s toolbar.
2)Click on the "Power" button.
3)Click on the "Refresh" button.
Go back
Back
Top