Příspěvky uživatele


< návrat zpět

Strana:  « předchozí  1 2 3 4   další »

Mi to funguje naprosto normálně. Mužu poprosit jak jsi tam dostal tu tabulku, ať to nemusím zbytečně studovat, i když prozatím nevím využítí ale je to velmi zajímavé a čaem se určitě něco najde. Díky
Jo mám Excel 2002 SP3

Toto stačí

Pardon, zapomněl jsem přílohu

Co tohle

Snad to je to co potřebuješ. Mělo by to hodit i v 2007 na jeho počet řádků a sloupců.

Funkce SUMIF skutečně nefunguje přes více než jeden list (narozdíl od funkce SUMA). Pokud skutečně potřebuješ SUMIF přes více listů pak je postup následující, pokud ti stačí SUMA přečti jen konec.
1. uděláš si na všech listech ve volné oblasti pomocnou tabulku tak, že stiskneš list "první" držíš shift a stlačíš list "poslední"
2.do sloupce volného např. A zadáš kriteria, která chceš sčítat a do sloupce např. B vzorce pro sumaci
3. stiskneš list výsledek a do sloupce např. A zadáš kriteria a do sloupce např. B vzorec pro sumu a jdeš na list první a se SHIFT na poslední a označíš buňku pro součet.
Zjednodudšená verze je v příloze

Zkus toto, doplň tabulku indexů!!

A co tohle.

Možná pomůže:
Dim cpop, cbyt, crok, cpor, vysledek As String
cpop = Cispop
cbyt = Cbytu
crok = Year(Now())
cpor = CISCE
vysledek = cpop & "/" & cbyt & "/" & crok & "-" & format(cpor,"00000")

' doplnění hodnot do tabulky
pocet.Offset(0, 0).Value = CISCE.Value
pocet.Offset(0, 2).Value = ComboBox1.Value
pocet.Offset(0, 3).Value = Cispop.Value
pocet.Offset(0, 4).Value = Cbytu.Value
pocet.Offset(0, 5).Value = Najemce.Value
pocet.Offset(0, 6).Value = Strd.Value
pocet.Offset(0, 7).Value = DTPicker1.Value
pocet.Offset(0, 1).Value = vysledek

Snad tohleto by mohla být cesta, ale je nutno dopracovat začátky a konce, popř jak jinak specifikovat pohyb, když je buňka zamčená

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Locked Then
Select Case Application.MoveAfterReturnDirection
Case xlToLeft
Target.Offset(0, -1).Select
Case xlDown
Target.Offset(1, 0).Select
Case xlUp
Target.Offset(-1, 0).Select
Case xlToRight
Target.Offset(0, 1).Select
Case Else
End Select
End If

Například funkce, kde vkládám oblast, kterou chci sečíst

Public Function Součet(Oblast As Range)
Application.Volatile
Součet = 0
For Each bunka In Oblast
Součet = Součet + Application.WorksheetFunction.Substitute(bunka, " ", "")
Next bunka
End Function

Pak to lze např takto:

ČísloBezMezer = Application.WorksheetFunction.Substitute(ČísloSMezerami, " ", "")

Samozřejmě user form je asi nejelegantnější, status bar nejsnadnější. Možností řešení je mnoho, pro paveku vlož do ThisWorkbook

Public Napis As Shape
Private Sub Workbook_BeforeClose(Cancel As Boolean)
Napis.Delete
End Sub

Private Sub Workbook_Open()
Set Napis = ActiveSheet.Shapes.AddTextEffect(msoTextEffect22, _
"Nyní pracuješ na listu " & ActiveSheet.Name & " buňce " & ActiveCell.Address(False, False), "Impact", 36#, msoFalse, msoFalse _
, 246.75, 282.75)
End Sub

Private Sub Workbook_SheetActivate(ByVal Sh As Object)
Set Napis = ActiveSheet.Shapes.AddTextEffect(msoTextEffect22, _
"Nyní pracuješ na listu " & Sh.Name & " buňce " & ActiveCell.Address(False, False), "Impact", 36#, msoFalse, msoFalse _
, 246.75, 282.75)
End Sub

Private Sub Workbook_SheetDeactivate(ByVal Sh As Object)
Napis.Delete
End Sub

Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, _
ByVal Target As Excel.Range)
Napis.Delete
Set Napis = ActiveSheet.Shapes.AddTextEffect(msoTextEffect22, _
"Nyní pracuješ na listu " & Sh.Name & " buňce " & Target.Address(False, False), "Impact", 36#, msoFalse, msoFalse _
, 246.75, 282.75)
End Sub

Pak je to poněkud složitější třeba tak:
Application.ScreenUpdating = True
With ActiveSheet.Shapes.AddTextEffect(msoTextEffect22, _
"Všeho zanech nyní za tebe pracuje makro", "Impact", 36#, msoFalse, msoFalse _
, 246.75, 282.75)
.Name = "Info"
End With
Application.ScreenUpdating = False

a na konci:
Application.ScreenUpdating = True
ActiveSheet.Shapes("info").Select
Selection.Delete

Ostatní nabízejí velmi sofisstikovná řešení já používámApplication.DisplayStatusBar = True
Application.StatusBar = "Makro pracuje"
Lze doplnit o proměnné nebo text, který mě informuje o průběhu zpracování makra a přet exitem dámApplication.StatusBar = False


Strana:  « předchozí  1 2 3 4   další »

Uživatelské menu

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

Menu

On-line nástroje

Formulář Faktura

Formulář Faktura IV

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

Aktivní diskuse