question

Microsoft ajuda de macro do excel por favor?

Eu criei uma macro (não usando código) e quando eu corro aquilo vem acima com esta mensagem de erro: "Run Time Error '1004':
Não é possível definir a propriedade scrollrow da classe window"O código que me dá é:
Posição de ActiveWindow.ScrollWorkbookTabs: = xlFirst
Posição de ActiveWindow.ScrollWorkbookTabs: = xlFirst
Sheets("Salad").Selecione
Selection.Copy
Posição de ActiveWindow.ScrollWorkbookTabs: = xlLast
Posição de ActiveWindow.ScrollWorkbookTabs: = xlLast
Posição de ActiveWindow.ScrollWorkbookTabs: = xlLast
Folhas ("não toque").Selecione
ActiveSheet.Paste
ActiveWindow.SmallScroll Down: = 12
Application.CutCopyMode = False
Range("D96:D152").Ação AdvancedFilter: = xlFilterInPlace, Unique: = True
ActiveWindow.SmallScroll Down: 21 =
Range("D97:D152").Selecione
Range("D152").Ativar
Selection.Sort Key1:=Range("D152"), Order1: = xlAscending, cabeçalho: xlGuess _
OrderCustom: = 1, MatchCase: = False, orientação: = xlTopToBottom, _
DataOption1: = xlSortNormal
Range("D97:D152").Selecione
Selection.Copy
Range("D161").Selecione
ActiveSheet.Paste
Application.CutCopyMode = False
Selection.Copy
Sheets("Creditors").Selecione
ActiveWindow.SmallScroll Down: 73 =
ActiveWindow.ScrollRow = -613
ActiveWindow.ScrollRow =-846
ActiveWindow.ScrollRow =-1080
ActiveWindow.ScrollRow =-1313
ActiveWindow.ScrollRow =-1547
ActiveWindow.ScrollRow =-1897
ActiveWindow.ScrollRow =-4583
ActiveWindow.ScrollRow =-5400
ActiveWindow.ScrollRow =-6218
ActiveWindow.ScrollRow =-6918
ActiveWindow.ScrollRow =-7736
ActiveWindow.ScrollRow =-8553
ActiveWindow.ScrollRow =-9370
ActiveWindow.ScrollRow =-9954
ActiveWindow.ScrollRow =-10772
ActiveWindow.ScrollRow =-11822
ActiveWindow.ScrollRow =-12640
ActiveWindow.ScrollRow =-13574
ActiveWindow.ScrollRow =-14625
ActiveWindow.ScrollRow =-15442
ActiveWindow.ScrollRow =-16376
ActiveWindow.ScrollRow =-17194
ActiveWindow.ScrollRow =-17778
ActiveWindow.ScrollRow =-19295
ActiveWindow.ScrollRow =-19996
ActiveWindow.ScrollRow =-20813
ActiveWindow.ScrollRow =-21397
ActiveWindow.ScrollRow =-22215
ActiveWindow.ScrollRow =-22798
ActiveWindow.ScrollRow =-23499
ActiveWindow.ScrollRow =-24083
ActiveWindow.ScrollRow =-24667
ActiveWindow.ScrollRow =-25367
ActiveWindow.ScrollRow =-25951
ActiveWindow.ScrollRow =-26769
ActiveWindow.ScrollRow =-27352
ActiveWindow.ScrollRow =-28053
ActiveWindow.ScrollRow = 1285
ActiveWindow.ScrollRow = 1169
ActiveWindow.ScrollRow = 935
ActiveWindow.ScrollRow = 818
ActiveWindow.ScrollRow = 702
ActiveWindow.ScrollRow = 351
ActiveWindow.ScrollRow = 118
ActiveWindow.ScrollRow = 1
Range("y3").Selecione
Colar de Selection.PasteSpecial: = xlPasteValues, operação: = xlNone, _ SkipBlanks
: = False, Transpose: = True
Range("T5").Selecione
Folhas ("não toque").Selecione
Rows("97:152").Selecione
Application.CutCopyMode = False
ActiveSheet.ShowAllData
ActiveWindow.SmallScroll Down: = 12
Range("B119").Selecione
ActiveWindow.SmallScroll Down: = 48
Range("D161").Selecione
ActiveWindow.SmallScroll Down: = 0
Range("D161:D164").Selecione
Selection.ClearContents
Range("D162").Selecione
Sheets("Creditors").Selecione

Por isso não vai funcionar?
Obrigado
resposta Resposta
O Excel tem um problema com programaticamente copiar e colar linhas inteiras de dados filtrados

Substitua esta linha de código:

Rows("97:152").Selecione

com isso (tudo em uma linha):

Range(Range("A97"), células (152, Cells.SpecialCells (xlCellTypeLastCell).Coluna)).Selecione

Dessa forma você está apenas selecionando as colunas dessas linhas que podem ter dados neles.

Ele também não faria mal qualquer coisa para excluir todas as linhas que começam com:

ActiveWindow.ScrollRow =

Espero que ajude...

Comentários Comentários

Guest
Bruno Gómez na 15 Set 2013
0
Você pode estar recebendo o erro porque o Excel está tentando colar algo quando nada foi selecionado para copiar...

Você está executando essa macro com nenhuma pastas de trabalho na janela ativa
Guest
Diogo na 8 Out 2023
0
Esse erro pode ser gerado por alguma incompatibilidade entre as telas do sistema. Para corrigir isso, sugiro uma solução que consiste em desativar o recurso de rolagem das abas das janelas, da seguinte forma:

No Visual Basic, você deve adicionar a seguinte linha de código no início da sua macro:
Application.WindowState = xlNormal

Depois, adicione a seguinte linha logo após a parte do seu código em que a mensagem de erro é gerada:
Application.WindowState = xlMaximized

Isso deve resolver o problema que você está enfrentando. Boa sorte e espero que sua macro funcione perfeitamente após essas alterações!


Topo da página


Home  Terms
Copyright © Accelerated Ideas 2005-2024
All rights reserved