Příspěvky uživatele


< návrat zpět

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

Vlákno může být uzavřeno, chybu jsem již našel.

Ahoj všem, mám excelovský sešit s podporou maker na správu poptávek, tento obsahuje formulář UserForm1(VBA), který spouštím tlačítkem "Zobraz info o díle" na listu1, který by měl na základě informace z txtCisloDilu propisovat veškeré informace do jednotlivých textboxů. Zdá se však, že u sloupců "Datum přijetí" a "Poznámky" na kartě nabídky a Objednávky dochází k nechtěnému propsání doplněných hodnot do nevhodných textboxů po kliknutí na SpinButton "spnCisloDilu".

V podstatě, když vyplním textbox například txtDatum101 a txtPoznamky101 a poté se pomocí spinbutton překliknu na další díl, dojde k propsání informace nejen ke stejnému dodavateli, ale ke všem dodavatelům, které mají číslo balíku1. Správně by mělo fungovat tak, že pokud například dodavateli A (má číslo balíku např 1) do těchto textboxu doplním nějaký text, po kliknutí na spinbutton by mělo dojít k tomu, že se ke všem dílům, které mají číslo balíku 1 doplní ke stejnému dodavateli stejný text. U ostatních dodavatelů se hodnota nezmění. Dalším problémem pak je to, že pokud se proklikám k dílu, který má jiné číslo balíku, vidím zde u některých textboxů stejnou hodnotu, což je nežádoucí. Vždy by se hodnoty měly propisovat jen v rámci daného čísla balíku.

Dokážete mi poradit, kde mám chyby ?
Předem díky

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.


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