Kopírování "hodnot" pomocí VBA

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

Moderátor: Mods_senior

sideboard
nováček
Příspěvky: 1
Registrován: červen 19
Pohlaví: Muž

Kopírování "hodnot" pomocí VBA

Příspěvekod sideboard » 24 čer 2019 10:04

Ahoj,
potřeboval bych poradit s jedním malým problémem. Stáhnul jsem si z těchto stránek VBA kód, který zkopíruje přesně to, co potřebuji, ale jedna z kopírovaných buněk je aktuální čas (vzorec "nyní()") a mě se kopíruje ten vzorec. Potřeboval bych ale zkopírovat jenom tu hodnotu. Tzn. abych věděl, v kolik hodin jsem to zkopíroval. Myslím, že to bude určitě jednoduché, ale jsem jen začátečník. Díky moc všem za radu.

Vzorec je níže:

Dim rCil2 As Range
Set rCil2 = Sheets("STYLISH").Range("f7")
If Not IsEmpty(rCil2) Then
If Not IsEmpty(rCil2.Offset(1, 0)) Then

Set rCil2 = rCil2.End(xlDown)
End If
Set rCil2 = rCil2.Offset(1, 0)
End If
Sheets("STYLISH").Range(ActiveCell, ActiveCell.Offset(0, -2)).Copy Destination:=rCil2

Set rCil2 = Nothing



Reklama
Uživatelský avatar
atari
Level 5
Level 5
Příspěvky: 2128
Registrován: říjen 08
Pohlaví: Muž

Re: Kopírování "hodnot" pomocí VBA

Příspěvekod atari » 25 čer 2019 23:01

Ahoj. Přečti si pravidla. Na vložení kódu je funkce.

Lze to například takto. Mělo by to fungovat i přes to COPY v jednom řádku, ale to se mi nedaří.

Kód: Vybrat vše

Dim rCil2 As Range
Set rCil2 = Sheets("STYLISH").Range("f7")
If Not IsEmpty(rCil2) Then
If Not IsEmpty(rCil2.Offset(1, 0)) Then

Set rCil2 = rCil2.End(xlDown)
End If
Set rCil2 = rCil2.Offset(1, 0)
End If
rciX = Sheets("STYLISH").Range(ActiveCell, ActiveCell.Offset(0, -2)).Value
rCil2 = rciX

Set rCil2 = Nothing
Naposledy upravil(a) atari dne 22 črc 2019 15:46, celkem upraveno 1 x.

Uživatelský avatar
atari
Level 5
Level 5
Příspěvky: 2128
Registrován: říjen 08
Pohlaví: Muž

Re: Kopírování "hodnot" pomocí VBA

Příspěvekod atari » 01 črc 2019 15:51

Technické doplnění. Proměnná "rciX" nemůže být deklarovaná jako RANGE. To mě nějak uniklo.

lubo.
Level 2
Level 2
Příspěvky: 169
Registrován: červen 13
Pohlaví: Nespecifikováno

Re: Kopírování "hodnot" pomocí VBA

Příspěvekod lubo. » 17 črc 2019 01:10

Je to jesnoduché.

Kód: Vybrat vše

Dim rCil2 As Range
Dim rZdroj As Range
 
  Set rCil2 = Sheets("STYLISH").Range("f7")
 
  If Not IsEmpty(rCil2) Then
    If Not IsEmpty(rCil2.Offset(1, 0)) Then

      Set rCil2 = rCil2.End(xlDown)
    End If
    Set rCil2 = rCil2.Offset(1, 0)
  End If
  Set rZdroj = Sheets("STYLISH").Range(ActiveCell, ActiveCell.Offset(0, -2))
   
  rZdroj.Calculate             ' Aktualizujeme čas
  rCil2.Value = rZdroj.Value   ' Kopírujeme hodnotu
  Set rCil2 = Nothing
  Set rZdroj = Nothing

Uživatelský avatar
atari
Level 5
Level 5
Příspěvky: 2128
Registrován: říjen 08
Pohlaví: Muž

Re: Kopírování "hodnot" pomocí VBA

Příspěvekod atari » 22 črc 2019 15:47

Autor se neozval, tak už nám asi nesdělí zda to vyhovuje ...


  • Mohlo by vás zajímat
    Odpovědi
    Zobrazení
    Poslední příspěvek
  • jak mít nejlepší zvuk s pomocí nastavení nebo s pomocí nějakého softwaru
    od ibro79 » 28 pro 2018 19:43 » v Taktování a další úpravy PC
    53
    4958
    od richchie
    25 led 2019 20:08
  • Hromadná změna hodnot v listu
    od Gizzer2 » 18 lis 2019 08:27 » v Kancelářské balíky
    4
    288
    od Gizzer2
    18 lis 2019 15:03
  • Excel - doplnění hodnot na základě podmínek
    od Joselinne » 29 říj 2019 17:52 » v Kancelářské balíky
    4
    681
    od Joselinne
    04 lis 2019 20:17
  • excel sčítání hodnot jiného počtu
    od berate » 14 lis 2019 15:08 » v Kancelářské balíky
    4
    311
    od atari
    15 lis 2019 09:13
  • Excel - doplnění hodnot na základě kritérií
    od Otis » 22 kvě 2019 17:20 » v Kancelářské balíky
    8
    1101
    od karlos64
    27 kvě 2019 21:09

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

Kdo je online

Uživatelé prohlížející si toto fórum: CommonCrawl [Bot] a 6 hostů