- sziku69: Fűzzük össze a szavakat :)
- Elektromos rásegítésű kerékpárok
- gban: Ingyen kellene, de tegnapra
- Luck Dragon: Asszociációs játék. :)
- MasterDeeJay: SATA to SAS adapter
- btz: Internet fejlesztés országosan!
- Viber: ingyen telefonálás a mobilodon
- Argos: Szeretem az ecetfát
- D1Rect: Nagy "hülyétkapokazapróktól" topik
- gerner1
-
LOGOUT
A Microsoft Excel topic célja segítséget kérni és nyújtani Excellel kapcsolatos problémákra.
Kérdés felvetése előtt olvasd el, ha még nem tetted.
Új hozzászólás Aktív témák
-
Mutt
senior tag
válasz
DasBoot #54438 üzenetére
Szia,
Nem hinném hogy tud segíteni, de ez a makró megnézi a képleteket tartalmazó cellákat és próbál bennük hibát találni. Az eredményt az immediate ablakba írja ki.
A CheckFormula függvényben 4 általános hiba ellenőrzés van:
1) a képlet nem megfelelően kezdődik
2) zárójelek nincsenek párban
3) körkörös hivatkozás van a cellában
4) a fájl hívatkozás érvénytelenSub ListFormulas()
Dim wsCurrent As Worksheet
Dim rngFormula As Range
For Each wsCurrent In ThisWorkbook.Worksheets
With wsCurrent
'nézzük elöször hogy van-e hibát tartalmazó cellát
On Error Resume Next
Set rngFormula = .Cells.SpecialCells(xlCellTypeFormulas, 16)
On Error GoTo 0
If Not rngFormula Is Nothing Then
Call PrintFormulas(rngFormula, 100)
End If
'nézzük a nem hibát tartalamazó cellákat
On Error Resume Next
Set rngFormula = .Cells.SpecialCells(xlCellTypeFormulas, 7)
On Error GoTo 0
If Not rngFormula Is Nothing Then
Call PrintFormulas(rngFormula, 100)
End If
End With
Next wsCurrent
End Sub
Sub PrintFormulas(rng As Range, counter As Long)
Dim r As Range, c As Long
Dim keplet As String, hiba As String
c = 1
For Each r In rng
keplet = r.Formula2
hiba = CheckFormula(keplet, r.Address)
If hiba <> "" Then
Debug.Print "Hely: " & r.Parent.Name & r.Address & ", Hiba: " & hiba & ", Képlet: " & keplet
End If
c = c + 1
If c > counter Then Exit For
Next r
End Sub
Function CheckFormula(str As String, loc As String) As String
CheckFormula = ""
'nézzük hogy mivel kezdõdik a képlet
If InStr(1, "=+-@", Left(str, 1)) = 0 Then CheckFormula = "Elsõ karakter hibás"
'képletben párosával kell lennie a zárójeleknek
Dim leftBracket
leftBracket = Len(str) - Len(Replace(str, "(", ""))
If Len(str) - Len(Replace(str, ")", "")) <> leftBracket Then CheckFormula = "Zárójel nincs párban"
'körkörös hivatkozás: képletben saját cella hivatkozás nem lehet
'hivatkozás lehet: A1, $A$1 formátumban, töröljük a $ jeleket az ellenõrzéshez
If InStr(1, Replace(str, "$", ""), Replace(loc, "$", "")) > 0 Then CheckFormula = "Körkörös hivatkozás"
'keressünk fájl hivatkozást a képletben
Dim filePath As String
If InStr(1, str, "[") > 0 Then
filePath = Mid(str, 2, InStr(1, str, "]") - 1)
'töröljük a [ ] ' jeleket
filePath = Replace(Replace(Replace(filePath, "[", ""), "]", ""), "'", "")
'létezik a fájl?
If Len(filePath) > 0 Then
If (Dir(filePath) = "") Then CheckFormula = "Fájl nem létezik"
End If
End If
End Function
Új hozzászólás Aktív témák
Hirdetés
- Samsung Galaxy Watch (Tizen és Wear OS) ingyenes számlapok, kupon kódok
- Milyen széket vegyek?
- A fociról könnyedén, egy baráti társaságban
- Genshin Impact (PC, PS4, Android, iOS)
- Soundbar, soundplate, hangprojektor
- sziku69: Fűzzük össze a szavakat :)
- OLED TV topic
- IGP nélküli processzorokkal készül az Intel és az AMD
- Anglia - élmények, tapasztalatok
- NVIDIA GeForce RTX 5070 / 5070 Ti (GB205 / 203)
- További aktív témák...
- Játékkulcsok olcsón: Steam, Uplay, GoG, Origin, Xbox, PS stb.
- Eredeti Microsoft termékek - MEGA Akciók! Windows, Office Pro Plus, Project Pro, Visio Pro stb.
- Kaspersky, McAfee, Norton, Avast és egyéb vírusírtó licencek a legolcsóbban, egyenesen a gyártóktól!
- Assassin's Creed Shadows Collector's Edition PC
- Windows 10/11 Home/Pro , Office 2024 kulcsok
- Lenovo ThinkPad 40AF docking station (DisplayLink)
- 125 - Lenovo Legion Pro 5 (16ARX8) - AMD Ryzen 9 7945HX, RTX 4070
- AKCIÓ! Apple MacBook Pro 13 2022 M2 8GB 256GB SSD garanciával hibátlan működéssel
- Azonnali készpénzes Intel i3 i5 i7 i9 12/13/14 gen processzor felvásárlás személyesen / csomagküldés
- ÚJ Lenovo ThinkPad X13 Gen 5 - 13.3" WUXGA IPS - Ultra 5 135U - 16GB - 512GB - Win11 - 2,5 év gari
Állásajánlatok
Cég: CAMERA-PRO Hungary Kft
Város: Budapest
Cég: Promenade Publishing House Kft.
Város: Budapest