< návrat zpět

MS Excel


Téma: Makro na editaci externích sešitů. rss

Zaslal/a 24.1.2023 8:51

PavelJanecZdravím, potřeboval bych poradit s makrem. Mám složku na ploše, ve které mám 8 xlsx sešitů (názvy třeba sesit-1, sesit-2 atd.) a já potřebuji vytvořit makro, aby mi ve všech odstranil určitý sloupec (v tomto případě sloupec FM) a vše opět uložil (přepsal). Moc děkuji za čas a ochotu.

Zaslat odpověď >

#054282
elninoslov
Viete, že je to dosť riskantné?

Skúšať VÝHRADNE NA KÓPII CELÉHO ADRESÁRA !!!

Ak je tých súborov viac, je výhodné použiť novú inštanciu Excelu. Približne takto. Je tam nejaká kontrola zle zadaného stĺpca, neexistujúceho listu. A to som tam ešte nedal kontrolu, či je súbor už otvorený, a či pri ukladaní nedošlo k chybe. Počet vecí, na ktoré treba myslieť je veľa...
Příloha: zip54282_upravovane-zosity.zip (39kB, staženo 12x)
citovat
#054288
PavelJanec
Elnino, vy jste to ještě dovedl k dokonalosti s výběrem sloupce. Moc děkuji!citovat
#054968
PavelJanec
Zdravím po delší době.
Elnino, od té doby, co jste mi poradil s makrem na odstranění určitých sloupců ze sešitů v určité složce toto makro hodně používám a velmi mi to usnadnilo práci (Ještě jednou moc děkuji!). Jen bych se ještě zeptal. Lze do té buňky, kde se vkládá který sloupec se má odstranit vložit hodnotu, aby se odstranily sloupce třeba na přeskáčku? Když například vložím FM, odstraní se sloupec FM, když vložím FM:FN, odstraní se tyto dva za sebou jdoucí sloupce, ale co mám zadat, když chci například odstranit sloupce, které nejdou za sebou? Například A, C, FM? Moc děkuji za ochotu!citovat
#054972
elninoslov
Do deklarácií pridajte
Dim S() As String, i As Integer
A potom toto
Stlp = wsOdstranovanie.Range("B1").Value
Stlp = Stlp & ":" & Stlp

nahraďte týmto
S = Split(wsOdstranovanie.Range("B1").Value, ",")
For i = 0 To UBound(S)
S(i) = S(i) & IIf(InStr(1, S(i), ":") > 0, "", ":" & S(i))
Next i
Stlp = Join(S, ",")

a ešte pred
Set appExcel = New Excel.Application
pridajte
Stlp = Replace(rng.Address(0, 0), ",", ";")
Zaujímavé je, že v obslužnom Exceli sa oblasti stĺpcov v Range odkazujú pomocou čiarky A:A,C:C,FM:FN no v skrytej druhej inštancii Excelu sa odkazujú pomocou bodkočiarky A:A;C:C;FM:FN. Inak to vedie k chybe. Každopádne Vy po úprave zadávate nasledovný formát do bunky B1
Napr.:
A
A,C
A,C,FN
A,C,FM:FN
A:A,C:C,FM:FN
A:B,G,FM:FO
...

a obdobné kombá 1citovat
#054974
PavelJanec
Elnino, Vy jste snad z jiné planety.... 1 Moc děkuji, funguje to perfektně!citovat

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