Příspěvky uživatele


< návrat zpět

Strana:  1 ... « předchozí  182 183 184 185 186 187 188 189 190   další » ... 286

To si robíte srandu ? 1
Veď to makro použijete ako chcete, na odstránenie znakov z akéhokoľvek reťazca. Nielen z bunky, ale aj z premennej vo Vašom kóde.
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:=OdstranHovadiny(Cesta & Nazev, "-") _
, Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas _
:=False, OpenAfterPublish:=False


funkcia OdstranHovadiny má 2 povinné a 1 nepovinný parameter.
Hodnota - reťazec s možnými nedovolenými znakmi
Nahrad - reťazec/znak, ktorým sa má nahradiť nedovolený znak, ak je "" tak sa znak iba zmaže
Odporucane - True/False (v CZ liste je to PRAVDA/NEPRAVDA, v SK liste alebo v akomkoľvek makre je to True/False), ak sa neuvedie, alebo je False, kontroluje sa iba tých 9 znakov, ak je True skontrolujú sa všetky odporúčané znaky

To čo z funkcie vylezie použite ako chcete, či už ako parameter inej funkcie, alebo na priradenie do premennej. Návratová hodnota je upravený reťazec.

Použitie je totálne jednoduché.

Riešenie máte na inom foŕe, čo ste písal:
http://www.jaknaoffice.cz/2-forum/?id=3038

Ak nevyhovuje dané riešenie, tak Vám môžem to makro, čo ste poslal v súkromnej správe upraviť, pozeral som naň, ale nerozumiem načo tam stále čekujete veľkosť sourceRange, keď je natvrdo priradená jednobunková oblasť E26, a nerozumiem tomu čo myslíte pod "...vypisovala také konkrétní buňka...". Makro nieje nič zložitého, ale fakt by ste na prípadné skúšanie mal vytvoriť testovaciu prílohu bez interných dát, a načrtnutie požadovaného výsledku v nejakom liste.

Tým som si práve nebol istý, ako ste to myslel. To vyfarbenie a otučnenie prvých 14 stĺpcov, sa dá urobiť pomocou PF, ale 15. stĺpec nie. Na ten musí byť makro. S PF je ale problém, že ho ničí a domotáva kopírovanie a presúvanie informácií robené inak ako Vložiť Hodnotu. A to je drvivá väčšina prípadov.

Toto by Vám malo fungovať:
Private Sub Workbook_Open()
Dim CS As String, Cesta As String, Poz1 As Long, Poz2 As Long

On Error GoTo CHYBA
With ThisWorkbook
Cesta = .Path & "\zdrojová data.xls"
With .Connections("zdrojová data").OLEDBConnection
CS = .Connection
Poz1 = InStr(1, CS, "Source=") + 6
Poz2 = Len(CS) - InStr(Poz1, CS, ";Mode=") + 1
CS = Left$(CS, Poz1) & Cesta & Right$(CS, Poz2)
.Connection = CS
.Refresh
End With
End With
Exit Sub

CHYBA:
MsgBox ("Chyba pri aktualizácii zdrojovej tabuľky :" & vbNewLine & Cesta)
End Sub

Pribalte ukážkové súbory, aby bolo vidieť štruktúru. Toto vyzerá na PowerQuery.

Doupravte si podľa seba...
Function OdstranHovadiny(Hodnota As String, Nahrad As String, Optional Odporucane = False) As String
Dim i As Byte, arrN
arrN = Array(Chr(255), "/", ":", "*", "?", "„", "<", ">", "|", "#", "%", "&", "{", "}", "\")
For i = 0 To IIf(Odporucane, UBound(arrN), 9)
Hodnota = Replace(Hodnota, arrN(i), Nahrad)
Next i
OdstranHovadiny = Hodnota
End Function

Sub pokus()
MsgBox (OdstranHovadiny("abc˙d&e?f\gh ij%", "-") & vbNewLine & OdstranHovadiny("abc˙d&e?f\gh ij%", "-", True))
End Sub

? Len keď nastavíte výšku na 30, tak sa Vám nevojde aj ten text aj Zac+Kon.

Ešte som mrkol na ten PSP1 z odkazu, pozrite si toto makro. Ale je to naprd, lebo je to nekorigované OCR z nekvalitného skenu a s dosť chybami. Vypisuje to aj slová napr. za dvojbodkou, iné významy, za lomítkom, ale pritom vynecháva prípony s pomlčkou, menšie ako 3 znaky, skratky s bodkou na konci, text v zátvorkách, dvojslovné a duplicitné slová.
Link

Sub postup()
Dim Radek As Long, Posledny As Long, Text1 As String
Radek = ActiveCell.Row
Posledny = Worksheets("report").Cells(Rows.Count, 11).End(xlUp).Row
If Posledny < Radek Then Exit Sub
If Posledny = Radek Then
Text1 = Worksheets("report").Cells(Posledny, 11)
Else
Text1 = Join(WorksheetFunction.Transpose(Worksheets("report").Cells(Radek, 11).Resize(Posledny - Radek + 1).Value2), "")
End If
MsgBox Text1
End Sub


Takto je to bez cyklu, a s ošetrením situácie, že bude označený riadok za posledným riadkom.

Príklad s For:
Sub NeviemCo()
Dim Radek As Long, Posledny As Long, i As Long, Spoj As String
Radek = 2
With Worksheets("Hárok1")
Posledny = .Cells(Rows.Count, 1).End(xlUp).Row
For i = Radek To Posledny
Spoj = Spoj & .Cells(i, 1).Value2 'Nejaký Váš kód
Next i
End With
MsgBox Spoj 'Výsledok
End Sub


Veľa bude záležať na tom, čo presne chcete, čo robíte v cykle, ako sú usporiadané dáta a pod.

=SUBSTITUTE(SUBSTITUTE(TRIM(D6);" "&CHAR(10);CHAR(10));CHAR(10)&" ";CHAR(10))
=DOSADIT(DOSADIT(PROČISTIT(D6);" "&ZNAK(10);ZNAK(10));ZNAK(10)&" ";ZNAK(10))

Určite ste uviedol ten "ASDAS" správne ?

U mňa víťazí metóda 3, teda polia. Čas 9 s.
Porovnaj Zdroj s DB.xlsm (8 MB)

Metódu 4 nepoužívať ! To som len začal včera v noci špekulovať s filtrom, ale vzhľadom na dosiahnutý čas cez polia, je to zbytočné.

Nevidel som ešte riešenie od mepexg, tak si to prípadne porovnajte.

EDIT: Tak som testol makro na dátach od mepexg, trvá tam až 3:30 ale dá správne hodnoty, pritom PQ iba 0:20. Takže keď sa dopiluje nevracanie záznamov DB bude to dokonalé riešenie podstatne odolnejšie voči chybám ako makro.

Makro tu síce nikto nespomínal, ale jedno mi urobí tento modelový súbor
21121 nových hľadá medzi 213841 v DB, nenájde 7301
za 7 min, druhé za 3 min, a tretie makro za cca 20 s. Ešte nad tým zajtra podúmam, a snáď dodám, keď prídem dom...

No tak ešte pár úprav. Na stiahnutie prázdny zošit (kvôli veľkosti) ako príloha, a tieto ďalšie hotové ako linky:
Nacitaj Slovenský slovník Azet (plný).xlsm
Slovenský pravopis.txt
Slovník slovenského jazyka.txt
Synonymický slovník.txt
Slovník cudzích slov.txt
Nacitaj Slovenský slovník Azet (všetko).zip

Kód je vlastne každému na 2 veci, keď je to už stiahnuté, uvádzam ho len pre prípad, že sa chce niekto s tým hrať či hľadať chyby.

Slovníky majú množstvo duplicít medzi sebou, ale to už nechám na Vás.

Na Excel 2003 by sa to muselo ešte upraviť na rozdelenie na viac stĺpcov, a to sa mi nechce.
Po malej úprave makra si môžete stiahnuť všetky 4 slovníky. Sledujte StatusBar. Snáď je to správne, ale kontrolovať to nebudem :)

EDIT: Upravené aj pre Excel 2003. No počíta sa maximálne s 2 stĺpcami. Vyskúšajte.


Strana:  1 ... « předchozí  182 183 184 185 186 187 188 189 190   další » ... 286

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

Vynásobit hodnoty kurzem - Power Query

Alfan • 26.4. 7:56

Relativní cesta - zdroje Power Query

Alfan • 26.4. 7:54

Vynásobit hodnoty kurzem - Power Query

elninoslov • 26.4. 7:54

Vynásobit hodnoty kurzem - Power Query

lubo • 25.4. 19:18

Relativní cesta - zdroje Power Query

elninoslov • 25.4. 15:12

Relativní cesta - zdroje Power Query

Alfan • 25.4. 15:08

Relativní cesta - zdroje Power Query

elninoslov • 25.4. 14:21