Crear hojas según texto en columna B y nombrarlas según columna A

Tengo un libro excel llamado "x" donde va a trabajar la macro y necesito una ayuda:

1- En la hoja llamada "PRESUPUESTO FINAL" necesito que la macro, recorra la columna B a partir de la fila 7 y cree hojas según texto especifico, si contiene el texto "Partida" que cree una hoja nueva con el nombre ubicado en la misma fila columna A y en la hoja que se cree nueva en el mismo libro "x" a partir de la hoja 40 hacer una copia o copiar los datos de la hoja existente con el nombre "PLANTILLAMADERA1" ubicada en el mismo libro "x" y pegarlos en la hoja nueva, seguidamente nombrar la celda A1 y una tabla existente con el mismo nombre que la hoja nueva, si al recorrer la columna B encuentra una celda en blanco o con otro nombre que no haga nada.

1 Respuesta

Respuesta
1

Aver si entendi

1 - en la hoja presupuesto buscar en la columna B7:B el dato "partida"

2 - si lo encuentra crear una hoja con el nombre de la columna A pero de la misma fila

3 - buscar la hoja "PLANTILLAMADERA1"y copiar los datos de esa hoja a la hoja nueva

Estas es la parte donde no entiendo tu solicitud hoja 40 no entiendo ese pedazo que es lo que quieres copiar en la hoja nueva

Si puedes mandarnos una imagen con lo que estas solicitando seria un éxito para nosotros ver más o menos lo que quiere en realidad

Buenas tardes en primer lugar muchas gracias por contestar, referente a las dudas generadas .

1.- El libro tiene 40 hojas ya existentes que son fijas siempre y dentro de esas 40 hojas hay una con el nombre de "PLANTILLAMADERA1" que es la que quiero que se copie el contenido de ella y se pege en la nueva hoja que se creo con la peculiaridad que la hoja "PLANTILLAMADERA1" tiene una tabla que al copiarla excel genera un nuevo nombre de tabla y lo que quiero es que se nombre tanto la hoja nueva como la tabla y la celda A1 con el mismo nombre que se le dio en el apartado 2 :

2 - si lo encuentra crear una hoja con el nombre de la columna A pero de la misma fila

Espero haberme explicado si tiene cualquier duda comuniquemelo por favor.

Un Cordial Saludo

David.C

Bueno estos es

1 - desde que celda comienza la tabla en la hoja "PLANTILLAMADERA1"

2 - la tabla tiene encabezadO

2- A partir de que celda quiere que se copie los datos a la hoja nueva

Buenas tardes,

1- La tabla comienza en la B26  y su rango es =$B$26:$AO$41

2- Tiene encabezados

3- A partir A1

Lo que creo que has entendido es que me copie la tabla a la hoja nueva y lo que yo quiero es copiar todos los datos de hoja igual que está el la hoja "PLANTILLAMADERA1" a la hoja nueva como si lo hiciéramos manual y hacemos una copia de "PLANTILLAMADERA1" en el mismo libro y la cambiamos el nombre y al tener un tabla, ¿excel me genera un nombre de tabla cada vez que copiamos y pegamos en cualquier hoja y lo que yo quiero que se llame igual que la hoja y la celda a1. Porque el la celda A1? Por que de hay hace referencia a una fórmula buscarv.

Perdonar si no me explico bien, cualquier duda comunícamelo.

Un Cordial Saludo

David.C

A ver si entiendo

1 - copia de la hoja "PLANTILLAMADERA1"

2 - remobrarla con el nombre a buscar si lo encontramos

3 - la tabla la llamaremos como a la hoja nueva

CREÓ que si.

Buenas tardes,

Si necesitas más información para realizar la macro no dudes en comunicarmelo.

Un Cordial Saludo

David.C

1 _ donde quiere poner el nombre a buscar desde una celda o un userform

2 _ El nombre será fijo o elijaras nombre diferente a buscar

3 _ la formula que tiene en la celda a1 es la misma para toda las hojas que valla a crear

Buenas tardes,

Empecemos de nuevo porque ya me he liado yo, je je.

Adjunto pasos :

1 - En la hoja con nombre "PRESUPUESTO FINAL" buscar en la columna B7:B el dato "Partida"

2 - Si encuentra crear una hoja con el nombre de la columna A pero de la misma fila.

3- En la hoja creada necesito que sea idéntica a la hoja con el nombre "PLANTILLAMADERA1"

( Cells.Select
Selection.Copy)

Y que la celda A1 contemple el nombre de la hoja y que se cambie el nombre de la tabla por el nombre que se asigno a la hoja y a la Cell A1.

Nota:

La hoja  "PLANTILLAMADERA1" contiene una tabla que comienza en la B26  y su rango es =$B$26:$AO$41 con cabecera el nombre de la tabla es el que asigna Excel por defecto.

4- Sigue recorriendo la columna B7:B y si no encuentra seguir recorriendo la columna hasta encontrar otra con el dato mismo dato "Partida" y empezar el paso 2, 3 y si encuentra una vacía o con otro nombre seguir recorriendo etc...

La macro se colocaría en la cinta de opciones ribbon.

En la celda A1 está vacía y no hay fórmula, la fórmula está en otra celda que dicha fórmula buscarv necesita el dato de la A1 que anteriormente hemos pegado con el nombre de la hoja

Espero haberme explicado

Un Cordial Saludo

David.C

Buenas tardes,

Necesitas más información? 

Perdoana la tardanza

Lo tengo pero solo por un nombre y he podido dar con la búsqueda siguiente para que siga buscando la palabra y siga creando hojas

Sub crear_hoja()
'
' Macro1 Macro
Dim valor As String, Existe As Boolean, valor1 As String
uf = Hoja1.Range("b100000").End(xlUp).Row
valor = "partida"
Set busca = Hoja1.Range("b1:b" & uf).Find(valor)
If Not busca Is Nothing Then
'
busca.Select
For x = 1 To uf
  On Error Resume Next
  Existe = Worksheets(valor1).Type
  On Error GoTo 0
  If Existe Then
  MsgBox "hoja ya existe"
  Exit Sub
  End If
valor1 = ActiveCell.Offset(0, -1).Value
Hoja1.Range("a1:h30").Copy
Sheets.Add after:=Sheets(Sheets.Count)
Sheets(Sheets.Count).Activate
ActiveSheet.Name = valor1

ActiveSheet.Range("a1").PasteSpecial Paste:=xlPasteValuesAndNumberFormats
    Application.CutCopyMode = False
    ActiveSheet.ListObjects.Add(xlSrcRange, Range("$b$26:$ao$41"), , xlYes).Name = valor1
   Range("a1").Value = valor1
 Next
  End If
  Hoja1.Select

end sub

Buenas noches,

Referente a la macro creada hay varias cosas que no son el resultado que necesito:

1- La hoja creada tiene que ser en el mismo libro y hacer una copia exacta de la Hoja17 en la hoja creada, no quiero un rango ( lo que si está muy bien es la llamada a la hoja, a la celda A1 y a la tabla.

2- Solo me ha creado 1 hoja de la lista de la columna

Un Cordial Saludo

David.c

Es parte me ha dado no he podido dar conque siga buscardo la palabra y más aun que me diga si exite que siga

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas