Například nějak takto:
Sub Oddelit_prazdnym_radkem()
Dim sloupec_kriteria As Integer
Dim i As Long
sloupec_kriteria = 4
For i = 1 To 1000
If (Cells(i, sloupec_kriteria) <> Cells(i + 1, sloupec_kriteria)) And _
(Cells(i, sloupec_kriteria) <> "") And _
(Cells(i + 1, sloupec_kriteria) <> "") Then
Cells(i + 1, sloupec_kriteria).EntireRow.Insert
Rows(i + 1).RowHeight = 4.8
Range(Cells(i + 1, 1), Cells(i + 1, 6)).Interior.ColorIndex = 15
i = i + 1
End If
Next i
End SubP.
Viz příloha:
Pokud proměnná "PrazdnyBlg" obsahuje číslo řádku, tak je to jenom o logice ;-)...
Range("A" & PrazdnyBlg).ValueP.
Než se pustíme do maker, nestačilo by to vzorcem?
Pokud budeš mít v těch jednotlivých sešitech (tak jak to máš teď) identifikátor - zmíněné písmeno, tak lze využít funkce VVYHLEDAT. Vzorec by byl v každém sešitu (A1, A2...).
=VVYHLEDAT(A1;[Zdroj.xlsm]List1!$1:$2;2;NEPRAVDA)Název sešitu lze případně také zautomatizovat (získat vzorcem). Vzorcem níže získáš celý název, stačí už pak jenom osekat, pokud bude např. vždy pouze jedno písmeno, tak přidat funkci ZLEVA.
=ČÁST(POLÍČKO("filename";A1);NAJÍT("[";POLÍČKO("filename";A1))+1;NAJÍT("]";(POLÍČKO("filename";A1)))-NAJÍT("[";POLÍČKO("filename";A1))-6)
P.
Zkus to odstranit přímo ve složce, pravděpodobně skrytá složka aplikačních dat.
P.
Z tohoto těžko posoudit ;-).
Vlož sešit, ve kterém potřebuješ upravit...
P.
@Away: Pokud pracuješ z makry, tak je potřeba ukládat sešit jako xlsm, nikoliv jako xlsx. Když jsi to ukládal, tak ti to muselo napsat, že makra nebudou uložena...
Jinak na výše zmíněný problém můžeš využít jednoduchý If: On Error Resume Next
If (Worksheets("DataRVV" & Worksheets.Count).Name = "") Then
'List neexistuje...
Sheets.Add.Name = "DataRVV" & Worksheets.Count
Else
'List existuje...
Sheets.Add.Name = "DataRVV" & 1
End IfP.
http://wall.cz/index.php?m=topic&id=26400
Třeba pomůže toto, již se zde řešilo...
P.
Já to počítám takto (podobně jako AL).
P.
Maticový vzorec:{=SUMA(IFERROR(1/COUNTIF(E14:E22;E14:E22);0))}
Pro mě je to moc malý vzorek na to, aby se vytvářelo nějaké automatické makro, takže přibližně popíši, jak by to šlo udělat ručně.
"Pod každý řádek chci vložit další tři (může být i přesná kopie, ..."
Označím všechny položky, a třikrát je pod sebe nakopíruji. Následně řádky seřadím dle sloupce "Materiál", čímž se mi položky dostanou pod sebe.
"... jediné co by se měnilo jsem označila žlutě..."
Mělo by pomoci klasické kopírování, případně roztahování položek. Případně si lze vytvořit číselník, a podle něj pak přes funkci SVYHLEDAT doplnit položky do tabulky.
"... nejvíc potřebuju v sloupci Y násobit hodnoty tak jak je v listu 2."
Opět si lze pomoci funkcí SVYHLEDAT - vytvořit si tabulku, kde bude k operacím RECEPTION, HANDLING, SHIPPING přiřazeno číslo, kterým se má násobit (to co máš nahoře, akorát pojmenovat přesně dle názvu operace).
Do hodiny musí být hotové ;-)...
P.
Možnosti:
1.) Propojit sešity přes vzorce.
2.) Pokud mají sešity vhodnou strukturu, tak si lze vytvořit kopírovací makro.
P.
Kdysi jsem se s něčím podobným setkal, a bylo to nastavením Windows. Blbne to jenom na tvém PC?
Jedna z možností je, že máš zapnutou funkci "Vysoký kontrast". Lze zapnout/vypnout přes klávesovou zkratku levý Alt + levý Shift + Print Screen.
P.
Vyhledání prázdného (resp. obsazeného) řádku se zapisuje trochu jinak, takto pro oblast nefunguje. Dalo by se zapsat takto:
Posledni_obsazeny_radek = Range("A11").End(xlUp).RowPřípadně si pomoci funkcí COUNTBLANK, a zjistit počet prázdných buněk v oblasti:
Pocet_volnych_bunek = Application.WorksheetFunction.CountBlank(Range("A4:A10"))P.
Run-time error 9 = Subscript out of range.
Tudíž je nejspíš problém s názvem listu. Zkontroluj si přiřazení jména listu do proměnné (ComboBox1.Value, pokud tam nemáš "Value", tak zkus přidat). Případně ještě před mazáním listu zkus požadovaný list vybrat "Sheets(VymazatID).Select".
P.
Asi ne úplně nejlepší způsob, ale vyřešilo by se to (částečně), kdyby byla ve zdroji (CSV) zadaná ona adresa s apostrofem: 'Dub 27. Případně dát před Dub mezeru (" Dub 27")...
P.
Ve vzorcích se můžeš běžně odkazovat i na buňky v jiných sešitech. S čím přesně si nevíš rady? Příp. přilož přílohu.
P.
Př.:
=[01.xlsx]List1!$A$1
Oblíbený formulář Faktura byl vylepšen a rozšířen.
Více se dočtete zde.
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.