Stránka 1 z 1
Makro - načítanie hodnoty do jednej zo 4 buniek
Napsal: 19 bře 2013 17:28
od ondaqo
Zdravím všetkých,
riešim jednu otázku. Istý čas hľadám makro alebo možno funkciu nasledovného typu. Po kliknutí do bunky (B2 alebo C2 alebo D2 alebo E2) sa do danej bunky vloží číslo z inej bunky (A2), v ktorej je nejaká hodnota. Ak bude vložená hodnota napr v B2, ostatné tri bunky ostávajú vždy prázdne. Ak sa zmení bunka napr na C2 zase ostatné 3 bunky ostávajú prázdne. Takýmto spôsobom sa vyplní postupne asi 25 riadkov. Bunka z ktorej sa hodnoty načítavajú prislúcha vždy len danému riadku.
Dúfam, že som problém popísal zrozumiteľne a vopred vám všetkým ďakujem za nejakú radu, prípadne postreh, príp. pomoc ako by som sa mal uberať.
Veľmi by mi to uľahčilo prácu
ondaqo
Re: Makro - načítanie hodnoty do jednej zo 4 buniek
Napsal: 19 bře 2013 17:47
od Jjg
Rozumím tomu dobře, že chcete v každém řádku přenést hodnotu ze sloupce A do určeného sloupce B, C, D nebo E?
A pro všechny listy v sešitu?
Re: Makro - načítanie hodnoty do jednej zo 4 buniek
Napsal: 19 bře 2013 17:59
od ondaqo
Presne tak, napr. hodnotu z A2 do B2 alebo C2 alebo D2 alebo E2...hodnotu z A3 do B3 - C3 - E3...A4 do B4 - C4 - E4 atď. V zošite je v podstate 7 listov rovnakých len majú iný názov- Pondelok, Utorok, Streda, Stvrtok, Piatok, Sobota, Nedela :) ďakujem
Re: Makro - načítanie hodnoty do jednej zo 4 buniek
Napsal: 19 bře 2013 18:01
od cmuch
Tak do modulu listu ve VBA vlož
Kód: Vybrat vše
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim radek As Long
Dim ACAdr As Variant
radek = Target.Row
ACAdr = ActiveCell.Address
If ACAdr = "$B$" & radek Or ACAdr = "$C$" & radek Or ACAdr = "$D$" & radek Or ACAdr = "$E$" & radek Then
If Range("$B$" & radek).Value = Empty And Range("$C$" & radek).Value = Empty And Range("$D$" & radek).Value = Empty And Range("$E$" & radek).Value = Empty Then
ActiveCell.Value = Range("A" & radek)
End If
End If
End Sub
// Edit
nevšim sem si že to má být pro všechny listy.
Takže toto vlož do modulu thisworkbook
Kód: Vybrat vše
Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range)
Dim radek As Long
Dim ACAdr As Variant
radek = Target.Row
ACAdr = ActiveCell.Address
If ACAdr = "$B$" & radek Or ACAdr = "$C$" & radek Or ACAdr = "$D$" & radek Or ACAdr = "$E$" & radek Then
If Range("$B$" & radek).Value = Empty And Range("$C$" & radek).Value = Empty And Range("$D$" & radek).Value = Empty And Range("$E$" & radek).Value = Empty Then
ActiveCell.Value = Range("A" & radek)
End If
End If
End Sub
Re: Makro - načítanie hodnoty do jednej zo 4 buniek
Napsal: 19 bře 2013 18:09
od ondaqo
Super, ďakujem veľmi pekne. Nechcem byť nevďačný, ste veľmi šikovný. Je aj nejaká možnosť, že ak kliknem najprv do B a chcem zmeniť hodnotu na bunku C, aby sa hodnota v bunke B vymazala?? aj tak ďakujem za tento kód
Re: Makro - načítanie hodnoty do jednej zo 4 buniek
Napsal: 19 bře 2013 18:22
od cmuch
Opravu bych dal na doubleclik
Vlož zase do modulu thisworkbook
Kód: Vybrat vše
Private Sub Workbook_SheetBeforeDoubleClick(ByVal Sh As Object, ByVal Target As Range, Cancel As Boolean)
Dim radek As Long
Dim ACAdr As Variant
radek = Target.Row
ACAdr = ActiveCell.Address
If ACAdr = "$B$" & radek Or ACAdr = "$C$" & radek Or ACAdr = "$D$" & radek Or ACAdr = "$E$" & radek Then
If Not Range("$B$" & radek).Value = Empty Or Not Range("$C$" & radek).Value = Empty Or Not Range("$D$" & radek).Value = Empty Or Not Range("$E$" & radek).Value = Empty Then
Range("B" & radek & ":E" & radek).Value = ""
ActiveCell.Value = Range("A" & radek)
Cancel = True
End If
End If
End Sub
//Edit
Nebo ty hodnoty tam vkládat rovnou na doubleclick, ale záleží jestli chceš mít možnost i opravy.
Re: Makro - načítanie hodnoty do jednej zo 4 buniek
Napsal: 19 bře 2013 18:35
od Jjg
Vidím, že jsem pomalý. Dávám tu i svůj výrobek - funguje na dvouklik včetně oprav.
Zkoušeno v Excel 2007.
Re: Makro - načítanie hodnoty do jednej zo 4 buniek
Napsal: 19 bře 2013 18:44
od cmuch
Řešení to také je,
jen bych doplnil na konec Cancel = True aby nezůstávala buňka otevřená pro úpravu.
Re: Makro - načítanie hodnoty do jednej zo 4 buniek
Napsal: 19 bře 2013 18:51
od Jjg
Je možno, i když právě to jsem nakonec vyhodil.
Re: Makro - načítanie hodnoty do jednej zo 4 buniek Vyřešeno
Napsal: 19 bře 2013 18:53
od ondaqo
Super, obe riešenia mi vyhovujú, si naozaj makromajster :)