Req: Pomoc s makrem pro Excel Vyřešeno

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

Moderátor: Mods_senior

dhous
nováček
Příspěvky: 12
Registrován: únor 09
Pohlaví: Muž
Stav:
Offline

Req: Pomoc s makrem pro Excel

Příspěvekod dhous » 22 úno 2009 10:03

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.

Reklama
Uživatelský avatar
mike007
Master Level 7.5
Master Level 7.5
Příspěvky: 5860
Registrován: srpen 07
Bydliště: Pardubice
Pohlaví: Muž
Stav:
Offline
Kontakt:

Re: Req: Pomoc s makrem pro Excel

Příspěvekod mike007 » 22 úno 2009 11:01

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 pište do fóra. Od toho tu je.

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

Re: Req: Pomoc s makrem pro Excel

Příspěvekod navstevnik » 22 úno 2009 11:05

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: srpen 07
Bydliště: Pardubice
Pohlaví: Muž
Stav:
Offline
Kontakt:

Re: Req: Pomoc s makrem pro Excel

Příspěvekod mike007 » 22 úno 2009 11:13

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 pište do fóra. Od toho tu je.

dhous
nováček
Příspěvky: 12
Registrován: únor 09
Pohlaví: Muž
Stav:
Offline

Re: Req: Pomoc s makrem pro Excel  Vyřešeno

Příspěvekod dhous » 22 úno 2009 16:14

Diky moc za pomoc. Funguje to skvele. Budu se ted muset ponorit hloubeji do studia tech skriptu...


  • Mohlo by vás zajímat
    Odpovědi
    Zobrazení
    Poslední příspěvek
  • Excel a OneDrive
    od sginfo » 11 zář 2023 15:28 » v Kancelářské balíky
    16
    7093
    od mirekol Zobrazit poslední příspěvek
    20 říj 2023 08:31
  • Excel - vlastní formát Příloha(y)
    od Story-Long » 11 srp 2023 14:50 » v Kancelářské balíky
    3
    2446
    od Story-Long Zobrazit poslední příspěvek
    14 srp 2023 10:11
  • Excel - funkce když
    od Martyn20 » 13 črc 2023 11:56 » v Kancelářské balíky
    5
    3020
    od mmmartin Zobrazit poslední příspěvek
    13 črc 2023 18:44
  • Excel komparacedvou soborů Příloha(y)
    od teichmann.ondrej » 15 dub 2024 17:26 » v Kancelářské balíky
    11
    3870
    od teichmann.ondrej Zobrazit poslední příspěvek
    22 dub 2024 15:45
  • excel-posun makra
    od actionboy » 12 bře 2024 18:59 » v Kancelářské balíky
    1
    862
    od Grimm Zobrazit poslední příspěvek
    12 bře 2024 21:43

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

Kdo je online

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