Zapnul jsem si záznam makra a vložil Tvůj vzorec, tohle je výsledek
Sub Makro1()
'
' Makro1 Makro
'
'
Range("K2").Select
ActiveCell.FormulaR1C1 = _
"=IF(RC[-10]<>R[-1]C[-10],"""",IF(R[-1]C[-7]=RC[-7],"""",IF(OR(RC[-7]=""VARIO profil Voice"",RC[-7]=""VARIO profil 1"",RC[-7]=""VARIO profil 2+"",RC[-7]=""VARIO pofil 3"",RC[-7]=""VARIO profil 3+"",RC[-7]=""VARIO pofil 4"",RC[-7]=""VARIO pofil 4+"",RC[-7]=""VARIO pofil 5"",RC[-7]=""Mobilní internet BUSINESS M"",RC[-7]=""Mobilní internet BUSINESS L"",RC[-7]=""Mobilní " & _
"inUSINESS XL"",RC[-7]=""Mobilní internet BUSINESS XXL""),IF(AND(R[-1]C[-7]<>RC[-7],R[-1]C[-7]<>""Obnovení objemu dat"",R[-1]C[-7]<>""Aktivace služby"",R[-1]C[-7]<>""Jednorázové navýšení objemu dat"",R[-1]C[-7]<>""Obnovení objemu dat 1,5GB"",R[-1]C[-7]<>""poplatek za odpojení na vlastní žádost"",R[-1]C[-7]<>""Svět opakovaný L"",R[-1]C[-7]<>""Top Svět""),""změna tarif" & _
"u"",""""),RC[-7])))" & _
""
Range("K2").Select
End Sub
Tak ještě jednou ten soubor
https://uloz.to/!sLIrUtsewOcw/copypodsebe-xlsm
Další z možných řešení (odstraněny "selecty",z listů se kopíruje pouze vyplněná oblast).
Jelikož ten příklad stojí za starou bačkoru, tak odpovím jen tak obecně.
Použiješ např. zápis SELECTION.COPY
nebo použiješ inputbox pro zadání odlasti (lze vybrat i myší) => APPLICATION.INPUTBOX s parametrem 8
Ten popis funkce není nic moc, chtělo by to přiložit vzorové soubory s lepším popisem.
V tom případě sem vlož vzorový soubor a někdo se na to určitě mrkne.
Za prvé si řádně deklaruj proměnné, a, b a c máš deklarovány jako Variant a d jako Integer
Zobraz si v editoru okno Locals ať vidíš jakých hodnot proměnné nabývají. Hlavně proměnná c (počet řádků). Být Tebou tak změním d na Long.
Taky si oprav tu podmínku.
If Len(Text) = O Then - Tohle není NULA, ale velké ó.
Chyba je v deklaraci proměnné d viz
http://wall.cz/excel-navod/deklarace-promennych-a-prehled-datovych-typu-vba
protože c= rows.count > c = 1048576
Načíst hodnoty do ComboBoxu při otevření sešitu.
Worksheets("List1").Range("B" & beta + 1 & ":B" & alfa + 28).Value = Worksheets("List2").Range("A2:A" & alfa).Value
Něco ve smyslu
Select case ovl.prvek
Case CZ
proměnná = "dodavatel"
Case EN
proměnná = "supplier"
End Select
Microsoft nabízí k úplné odinstalaci office nástroj, hledej office removal tool. Co se týče toho doplňku *.xlam, tak je potřeba zrušit "asociaci" v nastavení. MOŽNOSTI -> DOPLŇKY -> SPRAVOVAT "Doplňky Excelu" - přejít a zrušit zatržítko.
Tak samozřejmě to možné je. Buď si "překlad" zapíšeš přímo v kódu, nebo na skrytý list odkud budou proměnné čerpat data při načtení userformu.
Celý ten požadavek je ale nějaký zmatený, userformy budou zobrazovány v "jiném" jazyce a co zbytek faktury? Ten zůstane v CZ?
S tou chválou to nepřeháněj, takhle to vypadá, když si to po sobě někdo pořádně neotestuje .
Kód upraven a otestován, nyní už by to mělo být v pořádku. Přidat tlačítko a skrýt list jistě dokážeš sám.
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.