Neviem, či je možné rovno v Exporte Excelu urobiť rozdielny počet stĺpcov, no tu sú dva príklady:
Sub ExportCSV()
Dim F As Object, Prvy As Integer, Ostatne As Integer, Riadkov As Long, i As Long, x As Integer, rngUsed As Range, D(), S As String
Const DEL = ";"
With ActiveSheet
Prvy = .Cells(1, .Columns.Count).End(xlToLeft).Column
Set rngUsed = .UsedRange
Ostatne = Intersect(rngUsed, rngUsed.Offset(1, 0)).Columns.Count
With rngUsed
Riadkov = .Rows.Count
ReDim D(1 To Riadkov, 1 To .Columns.Count)
D = .Value
End With
End With
Set F = CreateObject("Scripting.FileSystemObject").CreateTextFile("D:\CSVExport.csv", True, True)
For i = 1 To Riadkov
S = vbNullString
For x = 1 To IIf(i = 1, Prvy, Ostatne)
S = S & IIf(S = vbNullString, vbNullString, DEL) & D(i, x)
Next x
F.Writeline S
Next i
Set F = Nothing: Set rngUsed = Nothing
End Sub
Sub ExportCSV2()
Dim Prvy As Integer, Ostatne As Integer, Riadkov As Long, i As Long, x As Integer, rngUsed As Range, D(), S As String, Pole() As String
Const DEL = ";"
With ActiveSheet
Prvy = .Cells(1, .Columns.Count).End(xlToLeft).Column
Set rngUsed = .UsedRange
Ostatne = Intersect(rngUsed, rngUsed.Offset(1, 0)).Columns.Count
With rngUsed
Riadkov = .Rows.Count
ReDim D(1 To Riadkov, 1 To .Columns.Count)
D = .Value
End With
End With
ReDim Pole(Riadkov - 1)
For i = 1 To Riadkov
S = vbNullString
For x = 1 To IIf(i = 1, Prvy, Ostatne)
S = S & IIf(S = vbNullString, vbNullString, DEL) & D(i, x)
Next x
Pole(i - 1) = S
Next i
With CreateObject("ADODB.Stream")
.Open
.Charset = "UTF-8"
.WriteText Join(Pole, vbCrLf)
.SaveToFile "D:\CSVExport.csv", 2
.Close
End With
Set rngUsed = Nothing
End Sub
Má to ale jedno podstatné ALE. Už X-krát omieľané kódovanie UTF-8 v CSV a BOM. Prvý kód neurobí UTF-8 ale nejaké "UCS-2 LE BOM". Druhý kód urobí "UTF-8 BOM". To BOM sú 3 bajty v súbore, ktoré robia šarapatu pri importoch do rôznych systémov. Vyskúšajte, alebo sa inšpirujte pri hľadaní iného riešenia.
Možno klasickým exportom urobiť CSV, to v makre otvoriť ako text, zmazať v prvom riadku všetky ";" sprava po najbližší znak a súbor znovu uložiť. Ale zase to ALE, lebo ak by sa Vám aj podaril Export do UTF-8 bez BOM, tak takéto uloženie to opäť degraduje.
Možno má niekto niečo použiteľnejšie.
Všetkým bunkám nastavte vo Formátovať bunky - Ochrana - Zamknúť bunky. Na tom istom mieste zrušte zaškrtávatko pre bunky určené na zmenu. Pre tieto bunky potom ešte nastavte podmienené formátovanie. V menu Revízia - Zabezpečiť hárok - nastavte heslo a položky (môžete ich asi nechať bez zmeny). Uložte.
Excel ale nieje trezor, a hlavne staré XLS sa dá ľahko prelomiť. Najnovší XLSX v nových Office už také ľahké prelomenie nedovoľuje.
Príkladov je mnoho...
Private Sub CommandButton1_Click()
Dim Pole() As String
If Len(TextBox1.Text) > 0 Then
Pole = Split(TextBox1.Text, vbCrLf)
ActiveSheet.Cells(1, 1).Resize(UBound(Pole) + 1, 1).Value = WorksheetFunction.Transpose(Pole)
End If
End Sub
No a toto ste skúšal ?
Súbor - Uložiť ako - Uložiť vo formáte "Webová stránka (*.htm;*.html). Zvoliť "Celý zošiť" alebo "Výber: Hárok". Ak ide iba o oblasť, tak v nasledujúcom okne vybrať v položke Zvoliť Rozsah buniek - šípkové tlačítko - vybrať súvislú oblasť. Publikovať.
Občas si treba po sebe aj prečítať, či to dáva zmysel. Chcel ste získať mená zákazníkov na základe zadaných parametrov. V ďalšom príspevku chcete zadávať meno zákazníka. Tieto 2 veci si predsa navzájom odporujú.
Každopádne SmartFilter na Tabuľku, KT, alebo KT+SmartFilter.
Tak skúste KT, alebo ešte jednoduchšie rýchle filtre na Tabuľku. Tá Vaša "tabuľka" musí byť prevedená na objekt "Tabuľka".
Myslel som, že nejako nadväzujete na to nedávne vlákno, kde sa malo validovať cez danú stránku.
Váš kód prejde aj v desktopovom E2016. Vytvorené CSV je podľa NotePad++ UTF-8-BOM. Ak dám v NotePad++ uložiť tento súbor bez BOM, je o 3 bajty menší.
Každopádne a) aj b) je správne.
Tá stránka bude nejaká precitlivelá, nič sa jej nepáči, lebo aj na súbor z NotePdau++ píše to isté.
Kópie listov a ich premenovanie už snáď zvládnete.
Tak čo, bude aspoň na pivo ?
Príloha na GoogleDrive.
Ak myslíte overenie na tej sajte csvlint.io, tak výsledok je:
Context problem: Incorrect Encoding
Your CSV appears to be encoded in ASCII-8BIT. We recommend you use UTF-8.
Takže to asi korektné UTF8 nieje.
Office 2016 x64 SK Profossional Plus
Vám to overí s akým výsledkom ?
Ak je to XLSM súbor, treba ho zabaliť do ZIP. Max veľkosť je 256 KB. Alebo to uploadnite na GoogleDrive, či iné free úložisko.
Nie 365-ku nemám nikde. Mám iba "oldschoolovú" verziu.
Office tieto 2 zostavy:
2016 Professional Plus SK x64
verzia 1807 (zostava 10325.20082)
verzia 1807 (zostava 10325.20118)
Nainštalované mám len appky W,E,A,PP,O.
OS:
Win 10 Pro SK x64 verzia 1803 (zostava 17134.228)
Pozn.: Žeby bol môj E zrovna stabilne fungujúci to povedať nemôžem. Pravidelne mi pri kopírovaní hlási problém s Clipboardom, len tak prestane zobrazovať označenie buniek, alebo prestane prekresľovať obrazovku (napíšem do bunky, ale vidím to iba v poli vzorca) a pod. Takže neviem, či je môj PC zrovna smerodajný :)
Nemám čas/chuť to preinštalovať, no. Ako to bolo s tými obuvníkovými deťmi ... ? 
To bude podstatne zložitejšie ako si predstavujete. Verte, že viem o čom hovorím. Musíte si stanoviť do akých podrobností ste ochotný vypĺňať a overovať špecifikácie. Veľmi je rozšírený nešvar, že len hŕstka dodávateľov zasiela presnú špecifikáciu daného produktu. A málokto je ochotný presné špecifiká dekódovať. Produkt sa líši v PN iba písmenkom a znamená to že má/nemá podsvietenú klávesnicu, doplniteľný HDD, matný/lesklý displej, IPS/TN, CZ/SK/EN popisky klávesnice (to je megaproblém, tomu verte), 2/4 článková bat., DVD/bez ... . Teda popis sa väčšinou iba kopíruje z iných e-shopov, a ak niekto nepreverí nejaký z týchto nie hlavných parametrov, je problém na svete. Už X-krát som donútil e-shop k prevereniu týchto info z popisu u dodávateľa, a vždy som mal pravdu, že popis je zlý. Skutočne záleží aké podrobnosti budete spracovávať. Ak len CPU, LCD, GPU, HDD, a pod. tak to nebude problém, ale s podrobnejšími info býva problém. Ak ale máte skutočne správne info, filtrov si môžete nasúkať akú len máte veľkú obrazovku :)
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.