Notifications
Clear all

Localizar e substituir caracteres em várias planilhas

21 Posts
4 Usuários
0 Reactions
4,535 Visualizações
(@damassajr)
Posts: 0
New Member
Topic starter
 

Pessoal,
Tenho uma pasta com 130 planilhas onde nas células da coluna A (partindo de "A7"), de cada uma delas, existe a codificação "3010.94" e preciso mudar para "3010.96". O número de linhas varia para todas as planilhas. Existe uma forma de automatizar esse processo sem ter que abrir planilha por planilha e substituir pelo Ctrl+U?
Desde já agradeço!

 
Postado : 30/09/2015 2:11 pm
(@nelson-s)
Posts: 0
New Member
 

Os códigos "3010.94" e "3010.96" estão registrados nas células como número ou como texto?

 
Postado : 30/09/2015 5:09 pm
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Quando diz uma pasta com 130 planilhas, quer dizer um arquivo com 130 abas ou sao arquivos separados ? Fiquei em duvida porque mencionou "sem ter de abrir planilha por planilha".
Se for somente um arquivo com todae estas abas é bem mais simples.

 
Postado : 30/09/2015 6:08 pm
(@mprudencio)
Posts: 0
New Member
 

Se for mais de um arquivo xlsx qual o nome desses arquivos respeitam uma logica, tipo pedido 01, pedido 02, pedido03, pedido04, pedido05, .........pedido130, ou cada arquivo tem um nome diferente?

 
Postado : 30/09/2015 6:13 pm
(@damassajr)
Posts: 0
New Member
Topic starter
 

"por Mauro Coutinho » Qua Set 30, 2015 9:08 pm
Quando diz uma pasta com 130 planilhas, quer dizer um arquivo com 130 abas ou sao arquivos separados ?"

Resp: São 130 arquivos!

"por MPrudencio » Qua Set 30, 2015 9:13 pm
Se for mais de um arquivo xlsx qual o nome desses arquivos respeitam uma logica, tipo pedido 01, pedido 02, pedido03, pedido04, pedido05, .........pedido130, ou cada arquivo tem um nome diferente?"

Resp: Cada arquivo contém um nome diferente!

 
Postado : 01/10/2015 5:04 am
(@damassajr)
Posts: 0
New Member
Topic starter
 

por Nelson S » Qua Set 30, 2015 8:09 pm
Os códigos "3010.94" e "3010.96" estão registrados nas células como número ou como texto?

Resp: Estão registrados sem formato específico (Categoria Geral).

 
Postado : 01/10/2015 5:08 am
(@mprudencio)
Posts: 0
New Member
 

E qual o nome desses 130 arquivos???

 
Postado : 01/10/2015 8:49 am
(@damassajr)
Posts: 0
New Member
Topic starter
 

por MPrudencio » Qui Out 01, 2015 11:49 am
E qual o nome desses 130 arquivos???

Segue abaixo os nomes:

I-LD-3010.95-1351-813-CNU-001_CONAUT - ROATMETERS.xlsx
I-LD-3010.95-1351-813-CNU-005_CONAUT - MAGNETIC FLOW METTER.xlsx
I-LD-3010.95-1351-813-FMR-001_F.MASTER - RESTRICTION ORIFICE.xlsx
I-LD-3010.95-1351-813-FRB-001_EMERSON - FLOWMETER TRANSMITTER TURBINE TYPE.xlsx
I-LD-3010.95-1351-813-MHG-003_MAGNETROL - FLOW SWITCH.xlsx
I-LD-3010.95-1351-813-YAS-006_YOKOGAWA - MAGNETIC FLOWMETER.xlsx
I-LD-3010.95-1351-814-MHG-006_MAGNETROL - LEVEL GAUGE.xlsx
I-LD-3010.95-1351-814-VC9-001_VEGA.xlsx
I-LD-3010.95-1351-814-YAS-003_YOKOGAWA - DIFFERENTIAL PRESSURE LEVEL TRANSMITTER.xlsx
I-LD-3010.95-1351-815-ASV-001_ASCO.xlsx
I-LD-3010.95-1351-830-BPK-001_BRAY - ON-OFF VALVES.xlsx
I-LD-3010.95-1351-831-FRB-001_EMERSON - PRESSURE AND CONTROL VALVES.xlsx
I-LD-3010.95-1351-832-FRB-001_EMERSON - PRESSURE AND FLOW REGULATED VALVES.xlsx
I-LD-3010.95-1351-835-LD5-001_LK VALVES.xlsx
I-LD-3010.95-1351-835-LJP-001_LUPATECH MNA - EMERGENCY SHUTDOWN VALVES.xlsx
I-LD-3010.95-1351-835-MZC-001_MICROMAZZA - SHUTDOWN VALVES.xlsx
I-LD-3010.95-1351-841-LBH-001_LESER.xlsx
I-LD-3010.95-1351-842-HE6-001_HALMA DO BRASIL.xlsx
I-LD-3010.95-1351-852-AL7-001_PRO ANALYSIS.xlsx
I-LD-3010.95-1351-852-DDG-001_DIGICROM.xlsx
I-LD-3010.95-1351-855-HBP-001_HONEYWELL - FLAME DETECTOR.xlsx
I-LD-3010.95-1357-962-RLC-001_REMAZEL.xlsx
I-LD-3010.95-1358-319-HSV-001-002_I-LD-3010.95-5335-319-HSV-001_I-LD-3010.95-5336-319-HSV-001_HAMWORTHY.xlsx
I-LD-3010.95-1359-600-NJA-001_SCANA.xlsx
I-LD-3010.95-1359-911-MJJ-001_METROVAL.xlsx
I-LD-3010.95-5000-311-KSI-002_KSB.xlsx
I-LD-3010.95-5000-700-WDD-001_WEG - LIGHTING AND SMALL POWER PANELS.xlsx
I-LD-3010.95-5100-221-ZDB-001_TRIPLE M - GATE VALVES.xlsx
I-LD-3010.95-5100-223-LPH-001_LUPATECH - CHECK VALVES.xlsx
I-LD-3010.95-5100-223-WOS-001_W&O - SOUNDING VALVE.xlsx
I-LD-3010.95-5100-224-LJP-001_LUPATECH - MNA BALL VALVES.xlsx
I-LD-3010.95-5100-224-ZDB-001_TRIPLE M - BALL VALVES.xlsx
I-LD-3010.95-5100-225-BPK-002_BRAY - BUTTERFLY VALVES.xlsx
I-LD-3010.95-5100-225-IHB-001_INTERATIVA - BUTTERFLY VALVES.xlsx
I-LD-3010.95-5100-250-SFJ-001 - 5100-250-SFJ-001_ SENIOR FLEXONICS - EXPANSION JOINT.xlsx
I-LD-3010.95-5115-580-AUY-081_AQUA-CHEM - HOT FRESH WATER PACKAGE.xlsx
I-LD-3010.95-5115-580-AUY-603_AQUA-CHEM - FRESH WATER HYDROPHORE.xlsx
I-LD-3010.95-5121-600-SMN-001_SIEMENS.xlsx
I-LD-3010.95-5122-660-ALF-001_ALFA LAVAL - FRESH WATER MAKER.xlsx
I-LD-3010.95-5124-456-ALF-001_ALFA LAVAL - COOLING WATER HEAT EXCHANGER.xlsx
I-LD-3010.95-5133-661-ALF-001_ALFA LAVAL - DIESEL OIL PURIFIER.xlsx
I-LD-3010.95-5133-911-IC1-001_IMENCO - HELICOPTER REFUELING SYSTEM.xlsx
I-LD-3010.95-5134-323-HJQ-001_HBR - INSTRUMENT SERVICE AIR COMPRESSION UNIT.xlsx
I-LD-3010.95-5134-530-ITI-001_INTECNIAL - INSTRUMENT SERVICE AIR RECEIVER.xlsx
I-LD-3010.95-5138-322-HJQ-001_HBR - GENERATOR.xlsx
I-LD-3010.95-5139-800-IQQ-001_INRADA - VALVES ACTUATION - HPU.xlsx
I-LD-3010.95-5140-700-ASX-501_ALTUS - ELETRICAL AUTOMATION.xlsx
I-LD-3010.95-5140-713-MDB-001_ADELCO LIMITER REACTOR.xlsx
I-LD-3010.95-5140-741-WDD-001_WEG LOW VOLTAGE CCMS, CDCS.xlsx
I-LD-3010.95-5143-713-MDB-001_ADELCO - POWER TRANSFORMERS.xlsx
I-LD-3010.95-5143-713-MDB-003_ADELCO - POWER TRANSFORMERS.xlsx
I-LD-3010.95-5143-713-MDB-005_ADELCO - POWER TRANSFORMERS.xlsx
I-LD-3010.95-5148-713-MDB-001_ADELCO - POWER TRANSFORMERS.xlsx
I-LD-3010.95-5241-424-HAM-001_HAMWORTHY MOSS - INERT GAS GENERATOR SYSTEM.xlsx
I-LD-3010.95-5241-424-HB8-001_PARKER - NITROGEN GENERATOR UNIT.xlsx
I-LD-3010.95-5241-831-TD8-001_PROTEGO - CONTROL VALVES.xlsx
I-LD-3010.95-5241-841-TD8-001_PROTEGO - PRESSURE SAFATY AND VACCUM VALVES.xlsx
I-LD-3010.95-5241-841-ZA8-001_ZIRCO - FLAME ARRESTER.xlsx
I-LD-3010.95-5250-300-RZB-001_AIRMARINE - HVAC MACHINERY AREA AND FORECASTLE.xlsx
I-LD-3010.95-5250-300-RZB-002_AIRMARINE - DUCTS AND EQUIPMENT INSTALLATION.xlsx
I-LD-3010.95-5261-910-MFZ-901_MTU GE-5261501.xlsx
I-LD-3010.95-5262-910-MFZ-901_MTU GE-5262501.xlsx
I-LD-3010.95-5263-700-ORA-001_ORGA - NAVIGATION AID SYSTEM.xlsx
I-LD-3010.95-5263-773-MDB-001_ADELCO - UNINTERRUPTED POWER SYSTEMS TAG-CB-5263501AB - PCC5263501AB - BT5263501AB.xlsx
I-LD-3010.95-5265-773-MDB-001_ADELCO - UNINTERRUPTED POWER SYSTEMS TAG-UPS-5265501AB - PN5265501AB - BT5265501AB.xlsx
I-LD-3010.95-5266-625-CJ9-001_CLIMBER - FORECASTLE JIB CRANE.xlsx
I-LD-3010.95-5267-750-JD5-001_JOTUN.xlsx
I-LD-3010.95-5271-600-OA2-003_POLARMARINE.xlsx
I-LD-3010.95-5271-970-WSV-001_WÄRTSILÄ.xlsx
I-LD-3010.95-5300-655-TH2-011_TECH OIL.xlsx
I-LD-3010.95-5312-911-TDN-001_SEVERN TRENT DE NORA.xlsx
I-LD-3010.95-5320-312-VCE-001_VIBROPAC - TAG-B-5320501.xlsx
I-LD-3010.95-5320-312-VCE-101_VIBROPAC - TAG-B-5320502 AB.xlsx
I-LD-3010.95-5320-312-VCE-201_VIBROPAC - TAG-B-5320503.xlsx
I-LD-3010.95-5320-312-VCE-301_VIBROPAC - TAG-B-5320504.xlsx
I-LD-3010.95-5330-313-WFO-001_WEATHEFORD TAG B-5330501.xlsx
I-LD-3010.95-5330-313-WFO-003_WEATHEFORD TAG B-5330502.xlsx
I-LD-3010.95-5330-667-RA5-001_RECOVERED ENERGY.xlsx
I-LD-3010.95-5330-5115-5133-561-TJH-001-101_TECH FILTER - FILTERS.xlsx
I-LD-3010.95-5335-561-TJH-001_TECH FILTER.xlsx
I-LD-3010.95-5400-947-MIE-001_MAT INCENDIO - EMERGENCY SHOWER AND EYE-WASHER.xlsx
I-LD-3010.95-5400-947-MIE-101_MAT INCENDIO - WINDSOCKS.xlsx
I-LD-3010.95-5400-947-MIE-151_MAT INCENDIO - SOPEP KITS.xlsx
I-LD-3010.95-5400-947-MIE-201_MAT INCENDIO - SAFETY ACCESSORIES.xlsx
I-LD-3010.95-5400-947-MIE-301_MAT INCENDIO - STRETCHER.xlsx
I-LD-3010.95-5400-947-MIE-401_MAT INCENDIO - HYDRANTS.xlsx
I-LD-3010.95-5400-947-MIE-501_MAT INCENDIO - BREATHING APPARATUS.xlsx
I-LD-3010.95-5400-947-MIE-601_MAT INCENDIO - LIFE BUOY.xlsx
I-LD-3010.95-5400-947-MIE-701_MAT INCENDIO - FIRE-FIGHTING EQUIPMENT LOCKERS & ACCESSORIES.xlsx
I-LD-3010.95-5400-947-MIE-801_MAT-INCENDIO - FIXED WATER - FOAM MONITOR.xlsx
I-LD-3010.95-5400-947-MIE-901_MAT-INCENDIO - FIRE EXTINGUISHER.xlsx
I-LD-3010.95-5400-947-SZL-001_SOLAS SEARCH & RESCUE LIGHT.xlsx
I-LD-3010.95-5400-947-VB6-001_VIKING - MARINE EVACUATION SYSTEM.xlsx
I-LD-3010.95-5400-947-VKR-001_VIKING LIFEJACKETS (COLETES).xlsx
I-LD-3010.95-5420-319-SJA-001_SULZER.xlsx
I-LD-3010.95-5421-540-FE4-001_FOGLIENE.xlsx
I-LD-3010.95-5424-947-MIE-001_MAT INCENDIO - FOAM SYSTEM.xlsx
I-LD-3010.95-5425-947-MIE-001_MAT INCENDIO - CO2 FIRE FIGHTING SYSTEM.xlsx
I-LD-3010.95-5430-947-MNC-201_MECANAVI TURCO PARA BALEEIRA.xlsx
I-LD-3010.95-5430-947-MNC-301_MECANAVI TURCO PARA BALSA.xlsx
I-LD-3010.95-5430-947-MNC-401_MECANAVI TURCO PARA BARCO DE RESGATE.xlsx
I-LD-3010.95-5431-694-QBR-001_RIB OFFSHORE.xlsx
I-LD-3010.95-5431-947-BTN-011_BRASTECH.xlsx
I-LD-3010.95-5514-800-OB7-001_OXALIS.xlsx
I-LD-3010.95-5514-800-SZL-001_SOLAS - CCTV.xlsx
I-LD-3010.95-5520-800-ASX-501_ALTUS - AUTOMATION SYSTEM.xlsx
I-LD-3010.95-5520-860-AUO-001_AUTOMIND.xlsx
I-LD-3010.95-5521-911-MDV-001_MIROS.xlsx
I-LD-3010.95-5522-800-SZL-001_SOLAS - AFDS.xlsx
I-LD-3010.95-5530-853-CHZ-001_CHEM TECH.xlsx
I-LD-3010.95-6654-960-SZT-001_STRAUHS.xlsx
I-LD-3010.95-1200-855-HBP-001_HONEYWELL - ANALYTCS.xlsx
I-LD-3010.95-1200-897-HC4-001_HUBER+SUHNER.xlsx
I-LD-3010.95-1324-962-RA8-001_PROSERTEK - FENDERS.xlsx
I-LD-3010.95-1350-140-YTH-001_PYTHON - MANHOLES.xlsx
I-LD-3010.95-1350-190-TAW-001_TECNOLITE - PACOTE ARQUITETURA.xlsx
I-LD-3010.95-1350-250-ZIC-001_ZINQUE - DOMES & HATCHES.xlsx
I-LD-3010.95-1350-311-AIK-001_AIRFLUID - BOMBAS JOCKEY.xlsx
I-LD-3010.95-1350-319-GF2-001_GERHARDT - SAFETY SIGNALLING SPECIFICATION.xlsx
I-LD-3010.95-1350-319-HHB-501_HEINEN & HOPMAN - CHILLERS.xlsx
I-LD-3010.95-1350-947-NAW-001_NAUTIFLEX INDÚSTRIA - INFLATABLE LIFERAFTS.xlsx
I-LD-3010.95-1351-800-HAV-001_HONEYWELL - BALLAST AND CARGO RONITORING SYSTEM.xlsx
I-LD-3010.95-1351-811-HAV-001_HONEYWELL - TERMOMETER AND THERMOWELL.xlsx
I-LD-3010.95-1351-811-YAS-003_YOKOGAWA TEMPERATURE TRANSMITTER.xlsx
I-LD-3010.95-1351-812-WIY-001_WILLY.xlsx
I-LD-3010.95-1351-812-YAS-002_YOKOGAWA PRESSURE TRANSMITTER.xlsx
I-LD-3010.95-1351-812-YAS-003_YOKOGAWA DIFERENTIAL PRESSURE TRANSMITER.xlsx
I-LD-3010.95-1351-812-YAS-004_YOKOGAWA DIFERENTIAL PRESSURE TRANSMITER.xlsx

 
Postado : 01/10/2015 11:53 am
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Não testei, por não ter os arquivos, mas experimente

Option Explicit

Sub Carrega_Altera()
Dim Msg As String
Dim OldName As String, strAtual As String, strNovo As String
Dim rw As Long, rw2 As Long
Dim i As Long
Dim sDir As String, sPath As String
'Atribuindo valores as variaveis
OldName = ThisWorkbook.Name
cSheet = ActiveSheet.Range("B2").Value
sPath = ActiveSheet.Range("A2")
'Acrescenta barra invertiva se necessario
If Right(sPath, 1) <> "" Then
    sPath = sPath & ""
Else
    sPath = sPath
End If
strAtual = ActiveSheet.Range("C2")
strNovo = ActiveSheet.Range("D2")
'Altera o diretorio de trabalho
ChDir sPath
sDir = Dir("*.xls?")
Do While sDir <> ""
    If sDir <> OldName Then  'Caso esta planilha estaja no mesmo diretorio
        Application.DisplayAlerts = False
        Application.ScreenUpdating = False
        'Abre o arquivo encontrado
        Workbooks.Open Filename:=sDir, UpdateLinks:=0
        'Seleciona a planilha desejada
        Sheets(cSheet).Select
        'determina ultima linha com valores na coluna A
        rw = Sheets(cSheet).Cells(Cells.Rows.Count, "A").End(xlUp).Row
        'Inicia comparativo na linha 2
        For i = 2 To rw
            If Cells(i, "A").Value = strAtual Then Cells(i, "A").Value = strNovo
        Next
            'Fecha o arquivo
            Workbooks(sDir).Close SaveChanges:=True
            'Posiciona para novo arquivco
            sDir = Dir
    Else
        Exit Sub
    End If
Loop
    Application.ScreenUpdating = True
    Application.DisplayAlerts = True
End Sub

 
Postado : 01/10/2015 11:59 am
(@damassajr)
Posts: 0
New Member
Topic starter
 

Obrigado pela ajuda Reinaldo! Testei aqui e apareceu uma janela mencionando "Erro de compilação: Variável não definida", marcando "cSheet" na ultima linha conforme abaixo:

Sub Carrega_Altera()
Dim Msg As String
Dim OldName As String, strAtual As String, strNovo As String
Dim rw As Long, rw2 As Long
Dim i As Long
Dim sDir As String, sPath As String
'Atribuindo valores as variaveis
OldName = ThisWorkbook.Name
cSheet = ActiveSheet.Range("B2").Value

 
Postado : 01/10/2015 1:06 pm
(@damassajr)
Posts: 0
New Member
Topic starter
 

Estou usando Excel 2010.

 
Postado : 01/10/2015 1:39 pm
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

cSheet = ActiveSheet.Range("B2").Value

Como tem no inicio Option Explicit todas as Variaveis tem de esar declarada e faltou esta, é só adicionar :

Dim cSheet as String

 
Postado : 01/10/2015 2:58 pm
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Ops! falha nossa, devia ter depurado, mas como aproveitei uma rotina deixei algumas variaves sem necessidade e esqueci dessa.
Como o colega Mauro "disse" e acrescentar no inicio:
Dim cSheet as string

 
Postado : 01/10/2015 3:00 pm
(@nelson-s)
Posts: 0
New Member
 

Você informou o nome dos arquivos *.xlsx, a coluna ("A") onde se encontra o dado... só faltou informar o nome da planilha (Plan) onde se encontram a coluna. As planilhas (Plan) com os dados desses arquivos teriam o mesmo nome? Se sim, qual seria esse nome?

 
Postado : 01/10/2015 4:02 pm
(@nelson-s)
Posts: 0
New Member
 

Obs: se os colegas do fórum soubessem, de antemão, essas informações, ficaria muito mais fácil escrever uma rotina para fazer essa substituição. E mais fácil detectar erros também..

 
Postado : 01/10/2015 4:09 pm
Página 1 / 2