Příspěvky uživatele


< návrat zpět

Strana:  1 2 3 4 5 6 7   další »

Tak už opraveno, problém byl v Podmíněném formátování.

Aha, nepřipojila se příloha, tak doplňuji.

Zdravím, řeším aktuálně timeplan pomocí gantova grafu, vzal jsem sešit, který u nás ve firmě používáme na timeplan projektu a potřeboval bych jej pouze upravit, tak abych do něj mohl dát cca 300 projektů a ty následně zaplánovat.
Nakopíroval jsem si tedy řádky, bohužel se mi gantův graf nezobrazuje tak jak bych si představoval, vše funguje na prvních několika řádcích, avšak dále se úsečky nezobrazují... napadá někoho proč ?

Děkuji

Tak mi to nedalo a zkusil jsem to řešit ještě přes VBA.
Opustil jsem myšlenku cíleného logování a nyní loguji veškeré změny. Loguje se po 10 změněných záznamech. Logování již nyní běží bezvadně, jediné co mi trochu vadí je probliknutí obrazovky při zápisu dat do logu. Dokážete někdo kód upravit tak, aby zápis probíhal na pozadí bez potřeby otevření sešitu ?

Oba soubory přikládám přílohou.

Děkuji za možné návrhy řešení, obávám se však, že toto je již nad moje síly. S PQ jsem zatím nepřišel do styku.

Dobrý den, vytvořil jsem si sešit, ve kterém chci pomocí VBA logovat veškeré změny ve vybraných sloupcích. Kód se spustí, avšak vlastní logování neproběhne. Tušíte kde je chyba ?
Sešit v příloze, kód níže:

Dim previousValue As Variant
Dim logPath As String
Dim logFileName As String

Private Sub Workbook_Open()
logPath = ThisWorkbook.Path
logFileName = "log.xlsm"
End Sub

Private Sub Worksheet_Change(ByVal Target As Range)
Dim changedColumns As String
Dim userName As String
Dim cellAddress As String
Dim originalValue As Variant
Dim newValue As Variant
Dim changeTime As Date

If Dir(logPath & "\" & logFileName) <> "" Then
If Not Intersect(Target, Me.Range("A:A,C:C,E:E,G:G,I:I")) Is Nothing Then
changedColumns = "A,C,E,G,I"
userName = Environ("USERNAME")
cellAddress = Target.Address
originalValue = previousValue
newValue = Target.Value
changeTime = Now

Dim logWorkbook As Workbook
Set logWorkbook = Workbooks.Open(logPath & "\" & logFileName)
Dim logSheet As Worksheet
Set logSheet = logWorkbook.Sheets("Log")

logSheet.Cells(logSheet.Rows.Count, 1).End(xlUp).Offset(1, 0).Value = userName
logSheet.Cells(logSheet.Rows.Count, 1).End(xlUp).Offset(0, 1).Value = changedColumns
logSheet.Cells(logSheet.Rows.Count, 1).End(xlUp).Offset(0, 2).Value = cellAddress
logSheet.Cells(logSheet.Rows.Count, 1).End(xlUp).Offset(0, 3).Value = originalValue
logSheet.Cells(logSheet.Rows.Count, 1).End(xlUp).Offset(0, 4).Value = newValue
logSheet.Cells(logSheet.Rows.Count, 1).End(xlUp).Offset(0, 5).Value = changeTime

logWorkbook.Close SaveChanges:=True
End If
previousValue = Target.Value
Else
MsgBox "Soubor log.xlsm nebyl nalezen ve stejné složce.", vbExclamation
End If
End Sub

Ještě jedna věc... V příloze na listu Karta majetku vyhledávám záznamy z listu Záznamy.

Používám vzorec: =SVYHLEDAT($C15;Záznamy!$B$7:$L$15300;13)

Data do sloupce 11 mi vzorec bez problémů dohledá, ale od sloupce 12 hlásí chybu #ODKAZ!

Napadá vás, kde je problém ?

Noo... tak to mi úplně uteklo... Děkuju

Dobrý den, chtěl bych se zeptat, zda vás napadá, kde dělám chybu. Snažím se následující vzorec z buňky C15 na listu karta majetku použít pro vyhledání hodnoty na listu Seznam majetku. Bohužel se mi místo hodnoty otevře dialogové okno pro výběr souboru.

=POZVYHLEDAT($D$6;Seznam majetku!J7:J15300;0)

Přikládám i přílohu.

Aha, škoda že to nenapíše žádnou chybu.

Každopádně díky za pomoc, vzorcem to také bude stačit.

Posílám tedy zazipovaný sešit.

Dobrý den, nedaří se mi spustit kód, který si myslím, že mám správně umístěný a který by měl reagovat na každou změnu buňky na listu Karta majetku.

Ve VBA mám kód, který by měl po spuštění dohledat ve sloupci B na listu Seznam majetku pořadové číslo a následně doplnit označení majetku, které odpovídá řádku ve kterém našel shodu ,do buňky D6. Bohužel mi kód nereaguje na změny v sešitu. můžete se podívat, kde by mohl být problém ?

Bohužel nejsem schopen přiložit soubor s podporou maker. Prostě se nepřidá, dávám tedy kód sem:

Private Sub Worksheet_Change(ByVal Target As Range)
' Proveď přepočet pouze pokud změna proběhla na listu "Karta majetku" a nebyl již proveden přepočet
If Me.Name = "Karta majetku" And Not Me.Application.EnableEvents Then
Dim wsSeznamMajetku As Worksheet
Set wsSeznamMajetku = ThisWorkbook.Sheets("Seznam majetku")

' Vypnout spouštění událostí, abychom zabránili nekonečnému volání
Application.EnableEvents = False

' Získat hodnotu z buňky D11
Dim searchText As Variant
searchText = Me.Range("D11").Value

' Najít hodnotu buňky D11 na listu "Seznam majetku" ve sloupci B
Dim foundCell As Range
Set foundCell = wsSeznamMajetku.Range("B:B").Find(searchText, LookIn:=xlValues, LookAt:=xlWhole)

' Pokud byla hodnota nalezena, zapsat odpovídající hodnotu ze sloupce J do buňky D6
If Not foundCell Is Nothing Then
Me.Range("D6").Value = foundCell.Offset(0, 8).Value ' Sloupec J (8 sloupců vpravo od sloupce B)
Else
' Pokud hodnota nebyla nalezena, vymazat obsah buňky D6
Me.Range("D6").ClearContents
End If

' Povolit spouštění událostí
Application.EnableEvents = True
End If
End Sub

Děkuji

Tak už vyřešeno. Všem děkuji za pomoc.

Už jsem přišel na to kde byl problém, měl jsem data v tabulce, která neumí s touto funkcí pracovat.

Pochopil jsem správně, že místo této funkce:

=INDEX(Seznamy!$E$3:$E$200; POROVNAT(D7; Seznamy!$F$3:$F$200; 0))

Mám použít XLOOKUP ?

Tak super, po nepochopení funkce filter se mi konečně podařilo rozchodit, problém byl v tom, že se nesmí použít v tabulce :)

Jinak pokud mohu, měl bych ještě jeden dotaz.
V přiloženém souboru mám na listu "Karta zaměstnance ve sloupci C7 vzorec:

=INDEX(Seznamy!$E$3:$E$200; POROVNAT(D7; Seznamy!$F$3:$F$200; 0))

Který by měl dohledat jméno z listu seznamy na základě pořadového čísla v buňce D7. Bohužel mi to hlásí chybu.


Strana:  1 2 3 4 5 6 7   další »

Uživatelské menu

Nejste přihlášen(a)
avatar\n

Menu

Formulář Faktura

Formulář Faktura IV

Oblíbený formulář Faktura byl vylepšen a rozšířen.
Více se dočtete zde.

Helios iNuvio

Používáte podnikový systém Helios iNuvio? Potřebujete pomoci se správou nebo vyvinout SQL proceduru? Více informací naleznete na stránce Helios iNuvio.

On-line nástroje