Stații de lucru

OS - Windows 8958 Solutii

Reguli si plangeri 10 Solutii

OS - OS X 410 Solutii

Reguli de configurare 12 Solutii

Licentiere 18 Solutii

Securitate 182 Solutii

Copie de rezerva (Backup) 68 Solutii

Antivirus 72 Solutii

Aplicatii specifice 5138 Solutii

Hardware 291 Solutii

Remediere: VBA runtime error 1004

Eroarea VBA Runtime Error 1004 apare cel mai des în Excel, când o macrocomandă încearcă să facă o acțiune pe care Excel nu o poate executa: selectare greșită, sheet inexistent, fișier blocat, range invalid, workbook protejat etc.

Cele mai frecvente cauze și remedieri

1. Macro-ul încearcă să selecteze un sheet care nu este activ

Exemplu problematic:

Worksheets("Sheet1").Range("A1").Select

Dacă Sheet1 nu este activ, poate da eroare.

Remediere:

Worksheets("Sheet1").Activate
Worksheets("Sheet1").Range("A1").Select

Sau mai bine, fără Select:

Worksheets("Sheet1").Range("A1").Value = "Test"

2. Numele sheet-ului este greșit

Verifică dacă sheet-ul există exact cu același nume.

Exemplu:

Worksheets("Date").Range("A1").Value = "OK"

Dacă foaia se numește de fapt Data, DATE sau Date cu spațiu la final, apare eroarea.

Remediere:

Dim ws As Worksheet
Set ws = ThisWorkbook.Worksheets("Date")
ws.Range("A1").Value = "OK"

3. Range-ul este invalid

Exemplu problematic:

Range("A0").Select

sau:

Range("A1:A").Select

Remediere:

Range("A1").Select
Range("A1:A100").Select

Pentru ultimul rând:

Dim lastRow As Long
lastRow = Cells(Rows.Count, "A").End(xlUp).Row
Range("A1:A" & lastRow).Select

4. Workbook-ul sau sheet-ul este protejat

Dacă foaia este protejată, macro-ul nu poate modifica celule.

Remediere:

Worksheets("Date").Unprotect Password:="parola"
Worksheets("Date").Range("A1").Value = "Test"
Worksheets("Date").Protect Password:="parola"

Dacă nu are parolă:

Worksheets("Date").Unprotect

5. Fișierul este deschis Read-Only

Verifică dacă fișierul Excel este deschis în mod Read-Only sau dacă este pe un share unde nu ai drepturi de scriere.

Remedieri:

- salvează fișierul local;
- verifică drepturile pe folder;
- închide fișierul de pe alte calculatoare;
- verifică dacă nu este blocat de OneDrive / SharePoint / antivirus.

6. Macro-ul folosește ActiveWorkbook în loc de ThisWorkbook

Dacă ai mai multe fișiere Excel deschise, ActiveWorkbook poate indica alt fișier.

Problematic:

ActiveWorkbook.Worksheets("Date").Range("A1").Value = "Test"

Mai sigur:

ThisWorkbook.Worksheets("Date").Range("A1").Value = "Test"

7. Copiere / lipire eșuată

Eroarea 1004 apare des la:

Selection.PasteSpecial Paste:=xlPasteValues

Remediere mai stabilă:

Worksheets("Sursa").Range("A1:A10").Copy
Worksheets("Destinatie").Range("A1").PasteSpecial Paste:=xlPasteValues
Application.CutCopyMode = False

Sau fără clipboard:

Worksheets("Destinatie").Range("A1:A10").Value = _
Worksheets("Sursa").Range("A1:A10").Value
[mai mult...]

Remediere Java Runtime Environment not found

Eroarea “Java Runtime Environment Not Found” apare când aplicația nu găsește Java instalat sau caută o versiune greșită de Java.

Remediere rapidă pe Windows

1. Verifică dacă Java este instalat

Deschide Command Prompt și scrie:

java -version

Dacă primești mesaj de tip:

'java' is not recognized...

înseamnă că Java nu este instalat sau nu este pus în PATH.

2. Instalează Java

Pentru aplicații obișnuite care cer doar Java Runtime, poți instala Java 8 Runtime de pe pagina oficială Java. Oracle menționează că Java 8 este pentru utilizatorii care au nevoie să ruleze aplicații desktop/laptop bazate pe Java.

Caută:

Java 8 download Windows

sau intră pe pagina oficială Java / Oracle.

Pentru aplicații mai noi, poți instala un JDK/JRE modern, de exemplu Eclipse Temurin, unde poți alege versiunea și tipul de pachet JDK/JRE.

Recomandare practică:

Pentru aplicații vechi: Java 8, 32-bit sau 64-bit în funcție de aplicație.
Pentru aplicații noi: Java 17 sau Java 21.

3. Verifică dacă aplicația cere Java 32-bit sau 64-bit

Asta este foarte important.

Dacă aplicația este veche, de multe ori cere Java 32-bit, chiar dacă Windows-ul este 64-bit.

Instalări tipice:

Java 64-bit:
C:\Program Files\Java\

Java 32-bit:
C:\Program Files (x86)\Java\

Dacă aplicația caută Java 32-bit și tu ai instalat doar 64-bit, eroarea poate continua.

4. Setează JAVA_HOME

După instalare, verifică unde este instalat Java. Exemplu:

C:\Program Files\Java\jre1.8.0_491

sau:

C:\Program Files\Eclipse Adoptium\jdk-17...

Apoi:

Start → search: Environment Variables → Edit the system environment variables

Intră la:

Environment Variables

La System variables, adaugă:

Variable name: JAVA_HOME
Variable value: C:\Program Files\Java\jre1.8.0_491

sau calea unde ai Java instalat.

Apoi la variabila Path, adaugă:

%JAVA_HOME%\bin

Închide și redeschide aplicația.

5. Testează din nou

În Command Prompt:

java -version

Ar trebui să apară ceva de genul:

java version "1.8.0_491"

sau versiunea instalată.

6. Dacă eroarea apare într-o aplicație veche

Instalează ambele variante, dacă nu știi ce cere aplicația:

Java 8 32-bit
Java 8 64-bit

Apoi repornește PC-ul.

[mai mult...]

Remediere Runtime error 3709: the connection cannot be used

Eroarea Runtime error 3709: The connection cannot be used apare de obicei în aplicații făcute în VB6 / VBA / Access / Excel / aplicații vechi cu bază de date, când conexiunea către baza de date nu este deschisă, este închisă, este stricată sau se încearcă folosirea ei greșit.

Pe scurt, aplicația încearcă să citească/scrie în baza de date, dar conexiunea nu este disponibilă.

Ce poți verifica prima dată

1. Închide și redeschide aplicația

Dacă este o aplicație veche, uneori conexiunea rămâne blocată.

- închide aplicația complet;
- verifică în Task Manager dacă mai rulează;
- închide procesul dacă este blocat;
- pornește aplicația din nou.

2. Verifică dacă baza de date există

Dacă aplicația folosește un fișier de tip:

.mdb
.accdb
.xls
.xlsx

verifică dacă fișierul există în locația configurată.

De exemplu:

C:\Program Files\Aplicatie\Database\
D:\Aplicatie\Data\
\\server\share\baza_date\

Dacă baza de date este pe rețea, verifică dacă poți accesa folderul respectiv din File Explorer.

3. Verifică drepturile pe folder

Aplicația trebuie să poată citi și scrie în folderul unde este baza de date.

Click dreapta pe folder → PropertiesSecurity și verifică dacă utilizatorul are:

Read
Write
Modify

Dacă baza de date este într-un folder protejat, cum ar fi:

C:\Program Files\
C:\Windows\

este posibil ca aplicația să nu aibă drepturi suficiente.

Încearcă să rulezi aplicația cu:

Run as administrator

4. Verifică conexiunea la server

Dacă baza de date este pe server, verifică:

- ai internet / rețea?
- poți accesa serverul?
- poți intra pe share?
- serverul este pornit?
- VPN-ul este conectat, dacă aplicația cere VPN?

Poți testa din Run:

\\nume-server

sau:

\\IP-server

Exemplu:

\\192.168.1.10

5. Verifică ODBC / driverul bazei de date

Dacă aplicația folosește ODBC, intră în:

Control Panel → Administrative Tools → ODBC Data Sources

Atenție: există două variante:

ODBC Data Sources 32-bit
ODBC Data Sources 64-bit

Pentru aplicații vechi, de obicei trebuie verificat ODBC 32-bit.

Îl găsești și direct aici:

C:\Windows\SysWOW64\odbcad32.exe

Verifică dacă există conexiunea configurată și apasă Test Connection, dacă există opțiunea.

Dacă este aplicație Access / Excel cu macro

Dacă eroarea apare într-un fișier Access sau Excel, încearcă:

1. Deschide fișierul.
2. Verifică dacă macro-urile sunt activate.
3. Verifică dacă fișierul nu este blocat de Windows.

Click dreapta pe fișier → Properties → dacă apare Unblock, bifează și apasă Apply.

Dacă ai acces la cod

Eroarea apare frecvent când în cod se face ceva de genul:

rs.Open sql, conn

dar conn nu este deschis.

Ar trebui verificat ca înainte de folosire conexiunea să fie deschisă:

If conn.State = 0 Then
    conn.Open
End If

Sau, mai corect:

If conn.State <> adStateOpen Then
    conn.Open connectionString
End If

De asemenea, verifică să nu existe ceva de genul:

conn.Close
rs.Open sql, conn

adică programul închide conexiunea și apoi încearcă să o folosească.

[mai mult...]