Prosím o úpravu kódu. Děkuji *

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

Moderátor: Mods_senior

junis
nováček
Příspěvky: 46
Registrován: březen 22
Pohlaví: Muž
Stav:
Offline

Prosím o úpravu kódu. Děkuji *

Příspěvekod junis » 09 črc 2024 18:05

Dobrý den.
Jak změnit zápis, aby provedl zápis do buněk (doplnění), když bude nějaká hodnota ve sloupci 15 . (Tlačítkem)
Ve sloupci 15 mám vzorec =IFERROR(SVYHLEDAT(J2;datovepole!$C$4:$D$2000;2;NEPRAVDA);"") a doplní mi to jen když do sloupce 15 provedu změnu ručně.
Prostě do sloupce 15 se mi vzorcem zapisují data a já potřebuji pomocí vba zajistit, aby pokud bude v řádku ve sloupci 15 nějaká hodnota mít doplněny buňky vleno viz níže

Kód: Vybrat vše

Private Sub Worksheet_Change(ByVal Target As Range)

Dim Sledovana_oblast As Range
Dim a As Integer
Dim b As Integer

    Set Sledovana_oblast = Range("O4:O2000") 'kontrolované buňky ve sloupci O

         If Not Intersect(Target, Sledovana_oblast) Is Nothing Then
         
            a = Target.Row
       
             With Target(1, -2) 'první řádek slupce K
           
             .Value = Now
           
             .EntireColumn.AutoFit 'automatická šíře sloupce
           
             .Offset(0, -1) = 1
           
             End With
       
         End If
 
End Sub



Chtěl bych to, přepsat to a makro spustit tlačítkem, kdy by se mi pak doplnilo více hodnot na jedno kliknutí

Děkuji pěkně

Reklama
Uživatelský avatar
Grimm
Level 2
Level 2
Příspěvky: 165
Registrován: září 17
Pohlaví: Muž
Stav:
Offline

Re: Prosím o úpravu kódu. Děkuji *

Příspěvekod Grimm » 20 črc 2024 22:49

???

Kód: Vybrat vše

Sub Test()

Dim Sledovana_oblast(), Datova_oblast()
Dim i As Integer
With List1      'CodeName listu si případně změň podle svého souboru
    Sledovana_oblast = List1.Range("O4:O2000").Value
    ReDim Datova_oblast(1 To UBound(Sledovana_oblast), 1 To 2)
   
        For i = LBound(Sledovana_oblast) To UBound(Sledovana_oblast)
            If Sledovana_oblast(i, 1) <> "" Then
                Datova_oblast(i, 1) = 1
                Datova_oblast(i, 2) = Now
            End If
        Next i
       
    With .Range("J4")
            .Resize(UBound(Datova_oblast, 1), 2).Value = Datova_oblast
            .Offset(, 1).EntireColumn.AutoFit 'automatická šíře sloupce
    End With
End With
Erase Sledovana_oblast
Erase Datova_oblast
End Sub

junis
nováček
Příspěvky: 46
Registrován: březen 22
Pohlaví: Muž
Stav:
Offline

Re: Prosím o úpravu kódu. Děkuji *

Příspěvekod junis » 21 črc 2024 13:52

Ano, děkuji funguje dle požadavku.
Chtěl jsem to použít po úpravách i jinam ale na větší sledovanou oblast než 30000 řádků to nelze.

Uživatelský avatar
Grimm
Level 2
Level 2
Příspěvky: 165
Registrován: září 17
Pohlaví: Muž
Stav:
Offline

Re: Prosím o úpravu kódu. Děkuji *

Příspěvekod Grimm » 21 črc 2024 20:48

Pro příště, bylo by vhodné uvést případnou chybovou hlášku, nebo kde v kódu dojde k chybě než konstatovat - nelze.

Tady bude "zádrhel" v deklaraci proměnné:
Dim i As Integer změn na Dim i As Long

junis
nováček
Příspěvky: 46
Registrován: březen 22
Pohlaví: Muž
Stav:
Offline

Re: Prosím o úpravu kódu. Děkuji *

Příspěvekod junis » 22 črc 2024 17:54

"Grimm" přímo perfektní.
Moc a moc děkuju.


  • Mohlo by vás zajímat
    Odpovědi
    Zobrazení
    Poslední příspěvek
  • Prosím o radu jak předělat PC
    od ruzi.jiri » 22 srp 2024 07:54 » v Rady s výběrem hw a sestavením PC
    8
    2407
    od Zivan Zobrazit poslední příspěvek
    23 srp 2024 12:10
  • Prosím o kontrolu sestavy
    od user158 » 11 led 2025 15:07 » v Rady s výběrem hw a sestavením PC
    2
    1228
    od Alferi Zobrazit poslední příspěvek
    11 led 2025 17:38
  • Prosím o posouzení sestavy
    od CROS » 09 bře 2025 13:36 » v Rady s výběrem hw a sestavením PC
    6
    8072
    od Alferi Zobrazit poslední příspěvek
    10 bře 2025 18:05
  • PC nenaběhl - prosím o rady
    od michal84 » 05 dub 2025 23:00 » v Problémy s hardwarem
    5
    2332
    od michal84 Zobrazit poslední příspěvek
    07 dub 2025 10:11
  • Herní PC prosím o názory/tipy/rady
    od Samlitt » 05 dub 2025 07:43 » v Rady s výběrem hw a sestavením PC
    1
    1383
    od meda2016 Zobrazit poslední příspěvek
    05 dub 2025 09:11

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

Kdo je online

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