Excel VBA - makro pro přepsání dat

Programy pro práci v kanceláři (Word, Excel, Access…=>Office)

Moderátor: Mods_senior

navstevnik
Level 4
Level 4
Příspěvky: 1142
Registrován: srpen 08
Pohlaví: Nespecifikováno
Stav:
Offline

Re: Excel VBA - makro pro přepsání dat

Příspěvekod navstevnik » 22 říj 2010 18:29

Muzes bud v editoru VBA zobrazit okno Locals Window a krokovat program nebo pokud se ti nechce prokousavat zobrazenymi udaji, tak zobrazit stav promennych prikazem Debug.Print vlozenym za radek, kde ma byt zobrazen stav, pr: Debug.Print SSadaBlk.Address;" ";SLastCll.Address za radky pro jejich prirazeni Set SLastCll=...

Reklama
Uživatelský avatar
Branscombe
Level 3
Level 3
Příspěvky: 469
Registrován: červen 09
Pohlaví: Muž
Stav:
Offline

Re: Excel VBA - makro pro přepsání dat

Příspěvekod Branscombe » 25 říj 2010 11:27

Ahoj, našel jsem tam malou chybku, ale dokonce jsem jí dokázal detekovat a opravit - přičítali se tam již zapsané hodnoty, jelikož to oddělovalo "; " (středník a mezera) a následně vyhodnotilo již zapsané číslo " 10-00005" a nikoliv "10-00005" - prostě byla tam vpředu navíc mezera.

Kód jsem opravil z:

Kód: Vybrat vše

If SadaOK Then
          .Value = .Value & IIf(.Value = vbNullString, vbNullString, "; ") & Sada
          .HorizontalAlignment = xlCenter
          .Font.ColorIndex = xlAutomatic
          .EntireColumn.AutoFit
        End If


na:

Kód: Vybrat vše

If SadaOK Then
          .Value = .Value & IIf(.Value = vbNullString, vbNullString, ";") & Sada
          .HorizontalAlignment = xlCenter
          .Font.ColorIndex = xlAutomatic
          .EntireColumn.AutoFit
        End If


Sem to píšu jen jako info kdyby to chtěl někdo někdy využít ... ;-)

navstevnik
Level 4
Level 4
Příspěvky: 1142
Registrován: srpen 08
Pohlaví: Nespecifikováno
Stav:
Offline

Re: Excel VBA - makro pro přepsání dat

Příspěvekod navstevnik » 25 říj 2010 12:51

Druha moznost opravy je pouzit oddelovac "; " v radku:
...
' overeni, zda je v bunce jiz c sady obsazeno
TmpPole = Split(.Value, "; ")
SadaOK = True
...
a ponechat:
...
.Value = .Value & IIf(.Value = vbNullString, vbNullString, "; ") & Sada
...

Uživatelský avatar
Branscombe
Level 3
Level 3
Příspěvky: 469
Registrován: červen 09
Pohlaví: Muž
Stav:
Offline

Re: Excel VBA - makro pro přepsání dat

Příspěvekod Branscombe » 25 říj 2010 12:59

Tvá varianta bude asi lepší ;-)


  • Mohlo by vás zajímat
    Odpovědi
    Zobrazení
    Poslední příspěvek
  • EXCEL -jak otevřít 2 excel sobory abych je viděla současne a samostatně
    od Ketty02 » 30 srp 2024 21:19 » v Vše ostatní (sw)
    2
    4774
    od Riviera kid Zobrazit poslední příspěvek
    02 zář 2024 16:21
  • Přechod z Excel 21 na Excel 24
    od Snekment » 29 led 2025 13:46 » v Kancelářské balíky
    2
    12191
    od Snekment Zobrazit poslední příspěvek
    29 led 2025 15:05
  • Pohoda a excel Příloha(y)
    od brownwld » 06 kvě 2025 17:28 » v Kancelářské balíky
    1
    4613
    od atari Zobrazit poslední příspěvek
    07 kvě 2025 09:41
  • Excel - výpočet nočních hodin Příloha(y)
    od Uziv00 » 17 říj 2024 11:22 » v Kancelářské balíky
    3
    3317
    od lubo. Zobrazit poslední příspěvek
    24 říj 2024 00:00
  • Excel 2016 - vzorec kombinace podmínek Příloha(y)
    od MK_Vs » 08 led 2025 17:56 » v Kancelářské balíky
    5
    4071
    od lubo. Zobrazit poslední příspěvek
    14 led 2025 00:51

Zpět na “Kancelářské balíky”

Kdo je online

Uživatelé prohlížející si toto fórum: Žádní registrovaní uživatelé a 6 hostů