Este fórum está sendo desativado

Depois de 9 anos, este fórum será desativado. Mas calma.... estamos migrando para uma comunidade no DISCORD. Junte-se a nós.

ENTRAR PARA DISCORD

Tópicos relacionados a códigos VBA, gravação de macros, etc.
  • Avatar do usuário
#20673
Olá pessoal!

Bom,eu sou um pouco inexperiente em relação a VBA.
E gostaria de pedir a ajuda de vocês,se possível,claro.

Estou tetando criar um comando que repita os critérios de o número de vezes que eu pedi

Seguindo essa ideia,eu construí algo parecido,mas no final ainda continua sendo trabalhoso.

Segue abaixo o criado:

Private Sub botão_Click()

Dim W As Worksheet
Dim Cont As Integer

Set W = Sheets("Planilha2")

W.Select
W.Range("A1").Select

For Cont = 1 To 4
ActiveCell.Value = "Espécie A"
ActiveCell.Offset(1, 0).Select
ActiveCell.Offset(-1, 1) = "Corte Futuro"

Next

For Cont = 5 To 35
ActiveCell.Value = "Espécie A"
ActiveCell.Offset(1, 0).Select
ActiveCell.Offset(-1, 1) = "Exploração"

Next

For Cont = 36 To 42
ActiveCell.Value = "Espécie A"
ActiveCell.Offset(1, 0).Select
ActiveCell.Offset(-1, 1) = "matriz"

Next

For Cont = 43 To 43
ActiveCell.Value = "Espécie B"
ActiveCell.Offset(1, 0).Select
ActiveCell.Offset(-1, 1) = "Corte Futuro"

Next

For Cont = 44 To 45
ActiveCell.Value = "Espécie B"
ActiveCell.Offset(1, 0).Select
ActiveCell.Offset(-1, 1) = "Exploração"

Next

For Cont = 36 To 42
ActiveCell.Value = "Espécie B
ActiveCell.Offset(1, 0).Select
ActiveCell.Offset(-1, 1) = "matriz"

Next

For Cont = 43 To 43
ActiveCell.Value = "Espécie C"
ActiveCell.Offset(1, 0).Select
ActiveCell.Offset(-1, 1) = "Corte Futuro"

For Cont = 44 To 45
ActiveCell.Value = "Espécie C"
ActiveCell.Offset(1, 0).Select
ActiveCell.Offset(-1, 1) = "Exploração"

e assim sucessivamente...o problema é que eu tenho o tempo todo que alterar os valores da linha de CONT para que o número de vezes que determinado critério se repita.Há alguma forma mais fácil de executar isso?

Muito Obrigado desde já.
#20675
Boa tarde!!

Eu não sei se entendi, mas caso você pretenda controlar a quantidade de interação de um laço de forma dinâmica, tente:
Código: Selecionar todos
Sub teste()
Dim iCont As Integer
Dim vEntrada As Variant
    vEntrada = Application.InputBox("Digite a Qtd de Interações") 'Há outras formas...
    For iCont = 1 To vEntrada
        MsgBox "Interação de Num: " & iCont
    Next iCont
End Sub
Att
#20677
Gostaria de criar um comando mais simples do que eu montei.
partindo da seguinte ideia:

"Espécie A "
Corte 3
Matriz 1
Corte futuro 1

No caso apenas gostaria de alterar nela, o número de vezes que se repetem sem sobrepor umas as outras.

irá gerar:

Espécie A Corte
Espécie A Corte
Espécie A Corte
Espécie A matriz
Espécie A Corte Futuro

A forma como eu criei,tenho que informar a primeira e última linhas e isso está sendo muito trabalhoso.
For Cont = 1 To 3
ActiveCell.Value = "Espécie A"
ActiveCell.Offset(1, 0).Select
ActiveCell.Offset(-1, 1) = "Corte "

Obrigado
#20702
victor2 escreveu: No caso apenas gostaria de alterar nela, o número de vezes que se repetem sem sobrepor umas as outras.
O código abaixo produz resultado igual ao seu código. Veja se ajuda.

Código: Selecionar todos
Sub botão_ClickV2()
 Dim Cont As Integer
  With Sheets("Planilha2")
   
   Cont = 4
    .Cells(Rows.Count, 1).End(3)(2).Resize(Cont, 2).Value = [{"Espécie A","Corte Futuro"}]
   
   Cont = 31
    .Cells(Rows.Count, 1).End(3)(2).Resize(Cont, 2).Value = [{"Espécie A","Exploração"}]

   Cont = 7
    .Cells(Rows.Count, 1).End(3)(2).Resize(Cont, 2).Value = [{"Espécie A","matriz"}]

   Cont = 1
    .Cells(Rows.Count, 1).End(3)(2).Resize(Cont, 2).Value = [{"Espécie B","Corte Futuro"}]

   Cont = 2
    .Cells(Rows.Count, 1).End(3)(2).Resize(Cont, 2).Value = [{"Espécie B","Exploração"}]

   Cont = 7
    .Cells(Rows.Count, 1).End(3)(2).Resize(Cont, 2).Value = [{"Espécie B","matriz"}]

   Cont = 1
    .Cells(Rows.Count, 1).End(3)(2).Resize(Cont, 2).Value = [{"Espécie C","Corte Futuro"}]

   Cont = 2
    .Cells(Rows.Count, 1).End(3)(2).Resize(Cont, 2).Value = [{"Espécie C","Exploração"}]
 
 End With
End Sub

Opcionalmente você pode colocar os textos e as respectivas quantidades de repetições desejadas em um intervalo da planilha e preparar um código que busque as informações nesse intervalo, assim você não precisará mexer no código nos casos de alteração/inclusão/exclusão de algum texto ou alteração em alguma repetição.
ex:
col M...................col N..................col O
Espécie A...........Corte.....................3
Espécie B...........matriz..................15
long long title how many chars? lets see 123 ok more? yes 60

We have created lots of YouTube videos just so you can achieve [...]

Another post test yes yes yes or no, maybe ni? :-/

The best flat phpBB theme around. Period. Fine craftmanship and [...]

Do you need a super MOD? Well here it is. chew on this

All you need is right here. Content tag, SEO, listing, Pizza and spaghetti [...]

Lasagna on me this time ok? I got plenty of cash

this should be fantastic. but what about links,images, bbcodes etc etc? [...]

Estamos migrando para uma comunidade no Discord