Req: Pomoc s makrem pro Excel

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

Moderátor: Mods_senior

Odpovědět
dhous
nováček
Příspěvky: 12
Registrován: 22 úno 2009 09:58

Req: Pomoc s makrem pro Excel

Příspěvek od dhous »

Potreboval bych pomoci s tvorbou makra pro Excel.

Mam sloupce A az K. Sloupec C,E,G,I a K obsahuji vzdy v kazdem radku v bunce bud pismeno X nebo nic. X mi oznacuje zda je predchozi sloupec, tedy B,D,F.H a J, spravne (jde o testovou databazi). Sloupce B,D,F,H a J obsahuji text. Sloupec A je zadani otazky.

Potreboval bych poradit jak udelat, aby Excel precetl celou tabulku - cca 2000 radku a pokud najde na radku ve sloupci C,E,G,I,K pismeno X (jak jsem psal muze tam byt jedno nebo az ctyri), vlozil do predchoziho sloupce (tj. B,D,F,H,J) na zacatek textu novy retezec "True=" (bez "").

Pokud by jeste bylo mozne pak vymazat radek c.1 a sloupce C,E,G,I,K bylo by to fajn. Jde to nejak? Poradite? Od vcerejska pronikam do tajemstvi VBS v Excelu a nejak mi to nejde pochopit.
Uživatelský avatar
mike007
Master Level 7.5
Master Level 7.5
Příspěvky: 5860
Registrován: 01 srp 2007 18:10
Bydliště: Pardubice
Kontaktovat uživatele:

Re: Req: Pomoc s makrem pro Excel

Příspěvek od mike007 »

Vítej na Pc-help

Nevím, zda jsem to pochopil správně. Příště by nebylo na škodu přiložit nějaký příklad (tabulku) do Excelu.

Tady je makro:


Kód: Vybrat vše

Sub makaron()

' === projdeme sloupečky C-E-G-I-K, zda se tam nachází X ===
' === pokud ano, provedeme zápis slova True= před text
For c = 2 To Range("C65536").End(xlUp).Row
If Cells(c, 3) = "X" Then Cells(c, 2) = "True=" & Cells(c, 2)
Next c
For e = 2 To Range("E65536").End(xlUp).Row
If Cells(e, 5) = "X" Then Cells(e, 4) = "True=" & Cells(e, 4)
Next e
For g = 2 To Range("G65536").End(xlUp).Row
If Cells(g, 7) = "X" Then Cells(g, 6) = "True=" & Cells(g, 6)
Next g
For i = 2 To Range("I65536").End(xlUp).Row
If Cells(i, 9) = "X" Then Cells(i, 8) = "True=" & Cells(i, 8)
Next i
For k = 2 To Range("K65536").End(xlUp).Row
If Cells(k, 11) = "X" Then Cells(k, 10) = "True=" & Cells(k, 10)
Next k

' === smažeme první řádek (pravděpodobně hlavičku) a sloupce s X ===
Range("C:C,E:E,G:G,I:I,K:K").Delete Shift:=xlToLeft
Cells(1, 1).EntireRow.Delete
End Sub
Nejlepší hra je Excel!
Pravidla fóra PC-helpJak označit téma za vyřešené
»»»»»»»»»»»»»»»»»»»»»»»
UPOZORNĚNÍ - můj Skype, Soukromé zprávy či email neslouží jako tech. podpora.
Dotazy prosím pište do fóra. Od toho tu je.
navstevnik
Level 4
Level 4
Příspěvky: 1142
Registrován: 29 srp 2008 16:49

Re: Req: Pomoc s makrem pro Excel

Příspěvek od navstevnik »

Jestli jsem to dobre pochopil, pak takto:

Kód: Vybrat vše

Option Explicit

Option Compare Text 'nerozlisuji se mala a velka pismena

Sub TestVyhodnot()
  Dim Oblast As Range, Radek As Range, Bunka As Range
  Set Oblast = ActiveSheet.UsedRange
  For Each Radek In Oblast.Rows
    For Each Bunka In Radek.Cells
      If Bunka.Value = "x" Then Bunka.Offset(0, -1).Value = "True=" & Bunka.Offset(0, -1).Value
    Next Bunka
  Next Radek
  ActiveSheet.Range("C:C,E:E,G:G,I:I,K:K").Delete
  ActiveSheet.Range("1:1").Delete
End Sub
Uživatelský avatar
mike007
Master Level 7.5
Master Level 7.5
Příspěvky: 5860
Registrován: 01 srp 2007 18:10
Bydliště: Pardubice
Kontaktovat uživatele:

Re: Req: Pomoc s makrem pro Excel

Příspěvek od mike007 »

dhous: Můžeš si vybrat :lol:
Nejlepší hra je Excel!
Pravidla fóra PC-helpJak označit téma za vyřešené
»»»»»»»»»»»»»»»»»»»»»»»
UPOZORNĚNÍ - můj Skype, Soukromé zprávy či email neslouží jako tech. podpora.
Dotazy prosím pište do fóra. Od toho tu je.
dhous
nováček
Příspěvky: 12
Registrován: 22 úno 2009 09:58

Re: Req: Pomoc s makrem pro Excel

Příspěvek od dhous »

Diky moc za pomoc. Funguje to skvele. Budu se ted muset ponorit hloubeji do studia tech skriptu...
Odpovědět
  • Podobná témata
    Odpovědi
    Zobrazení
    Poslední příspěvek
  • Přechod z Excel 21 na Excel 24
    od Snekment » » v Kancelářské balíky
    2 Odpovědi
    14271 Zobrazení
    Poslední příspěvek od Snekment
  • Pohoda a excel
    od brownwld » » v Kancelářské balíky
    1 Odpovědi
    7239 Zobrazení
    Poslední příspěvek od atari
  • Tisk sloupců vedle sebe na A4 - Excel
    od atari » » v Kancelářské balíky
    5 Odpovědi
    5782 Zobrazení
    Poslední příspěvek od atari
  • Excel 2016 - vzorec kombinace podmínek
    od MK_Vs » » v Kancelářské balíky
    5 Odpovědi
    6011 Zobrazení
    Poslední příspěvek od lubo.
  • Pomoc při taktu
    od ondyN » » v Taktování a další úpravy PC
    2 Odpovědi
    9941 Zobrazení
    Poslední příspěvek od Dyonysos

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