Logo

dev-resources.site

for different kinds of informations.

Separação de conteúdo em arquivos no Microsoft Excel

Published at
3/20/2023
Categories
braziliandevs
excel
vba
Author
oberdanbrito
Categories
3 categories in total
braziliandevs
open
excel
open
vba
open
Author
12 person written this
oberdanbrito
open
Separação de conteúdo em arquivos no Microsoft Excel

Image description

O código dessa semana é uma ajuda que dei a um amigo. Ele estava precisando separar uma lista de clientes contida em um arquivo, onde continha a palavra "Empresa" porém estava separada por intervalos com nomes de funcionários. Como a urgência falava mais alto, construir algo do zero seria impossível, então encontrei uma solução simples e que acabou sendo útil para muitas planilhas dele. Este e o link do código completo

Há sim... quem não se lembra do velho VBA. Ainda na década de 90 a Microsoft precisava apresentar aos seus clientes corporativos alguma forma que ajudasse eles a automatizar as tarefas. Visto que a grande sacada do Office é oferecer um produto genérico na qual usuários com conhecimento mais aprofundados pudessem deixar rotinas mais inteligentes. mas sem longas histórias, a solução que encontrei, utiliza dois loops para identificar onde encontrar uma palavra que sempre repete no arquivo. Se essa for a sua necessidade dê uma olhada nesse exemplo:

Para quem não está familiarizado com VBA, toda variável deve ser declarada e repare que para fazer isso você deve usar a palavra reservada "Dim" de dimensionar, sacou?

Agora a parte fundamental, repare que há um loop. Este é utilizado para percorrer todas as linhas da planilha do Excel.

Você pode substituir por qualquer palavra para pesquisar, desde que essa faça parte de um padrão dentro do seu arquivo. Vamos imaginar que ao invés de "Empresa:" o seu arquivo seja uma lista de alunos, nesse caso basta modificar o valor da pesquisa pela palavra "alunos". Mas atenção, procure identificar bem o seu padrão. Se na sua planilha existir mais de uma forma para escrita, você deve primeiro certificar-se de que está pesquisando um caso bem específico. No meu caso para evitar essa coincidência, eu reparei que sempre quando havia a palavra empresa ela era seguida pelos dois pontos (:), assim ficou fácil.

Após a identificação, você deve estabelecer um ponto de partida e um ponto de encerramento, que servem para você fazer o que mais estiver necessitado no momento, uma cópia das células (Meu caso), formatação ou edição de dados seja possível. Então para que a magia pudesse ocorrer eu usei um novo loop

Repare que no primeiro loop estamos percorrendo linha por linha para identificar onde começa uma empresa, já nesse segundo caso nós precisamos identificar o final que determina o início da uma outra empresa. Uma vez encontrado o final agora sabemos o que selecionar. É aí que entra a palavra "Range" Essa função interna do Excel nada mais é que a capacidade de selecionar uma área ou os mesmos movimentos que você faria com o seu mouse passando encima e selecionado as áreas que deseja de uma planilha

Por fim eu definir o que desejava com a minha seleção. *É claro que você deve alterar isso também, a fim de refletir a sua necessidade eyes *

Bônus: O código final apresenta uma maneira fácil de separar o conteúdo obtido no comando "Range" e cola dentro de um novo arquivo. Um para cada empresa que foi encontrada na planilha.

Pessoal, essa dica é para aqueles que ainda não conhecem esse ambiente de trabalho. Vá até o Excel aperte Alt+F11 e confira.

E para nós saudosistas de plantão! eu deixo esse print de quando agente brincava de formulários...

Image description

Acessem o código completo, estudem e se divirtam! Sinta-se a vontade para tirar alguma dúvida.

Uma boa semana e até a próxima.

vba Article's
30 articles in total
Favicon
mala direta usando o VBA, Excel e Word tudo juntos
Favicon
Custom Inventory Management System Using VBA: A Cost-Effective Solution for Small Businesses
Favicon
Import objects from another database in Access VBA
Favicon
Excel 基礎 Part 03 -- 作成したマクロ関数を開発タブから実行する
Favicon
Validate date format in VBA
Favicon
Connect MS Access to SQL Server using ADO
Favicon
Calculate elapsed time in milliseconds in VBA
Favicon
Word VBA 刪除所有圖形
Favicon
How to implement a Polar Area Chart using VBA
Favicon
Automating Excel with Power: Building Your Own Plugin using VBA
Favicon
Outputting data without using a loop
Favicon
How to do Excel table association – You are out if you know only VLOOKUP
Favicon
SPL XLL Practice: Almighty Text Splitting in Excel
Favicon
SPL XLL Practice: Excel Interval Association
Favicon
Excel Advanced Group and Summary Method
Favicon
How to Automatically Extract Eligible Rows in Excel
Favicon
Set operations of Excel inter row data (intersection, union, difference)
Favicon
Power Apps - VBA Subs and Functions
Favicon
Hello there ..im looking for help from someone who has knowledge about VbA
Favicon
How to Merge Excel Sheets Horizontally
Favicon
What Programming Language Should Business People Learn?
Favicon
Looking for Advanced Excel, VBA & Macros Course in Mumbai
Favicon
How to Save Multiple Excel Files into the Same Folder
Favicon
New 64-bit IDE for VB6 developers,Twinbasic VisualFreebasic
Favicon
Streamlining Your Work with Custom Excel Functions
Favicon
Separação de conteúdo em arquivos no Microsoft Excel
Favicon
在 VBA 中讀取 UTF8 編碼的文字檔
Favicon
VBA and Excel as an office GUI.
Favicon
Send an SMS Message From an Excel Spreadsheet
Favicon
在 Office VBA 使用 Open AI API

Featured ones: