Visual Basic - Error jenom v některých verzích Office – Visual Basic – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Visual Basic - Error jenom v některých verzích Office – Visual Basic – Fórum – Programujte.comVisual Basic - Error jenom v některých verzích Office – Visual Basic – Fórum – Programujte.com

 

Kateřina
~ Anonymní uživatel
9 příspěvků
13. 11. 2018   #1
-
0
-

Ahoj, prosím o radu ohledně makra. 
Některé verze office toto makro berou v pořádku, jiné hlásí chybu:

Připojen obrázek.

Myslím si, že tam mám chybu v nějakém detailu zápisu, když to některé verze berou.

Zjednodušeně se jedná o Makro, které mi na základě podmínky zapíše hodnoty z jednoho sloupce do druhého:

Sub pouzit_v_planu()
Application.ScreenUpdating = False
Sheet8.Unprotect "..."
Sheet8.Activate
Columns("BY").Select
Selection.ClearContents
Dim i As Integer
Dim m As Integer
m = 17
For i = 18 To (24) Step 1
BY = 18 'jdu po řádcích
'kam chci název napsat

If Range("BP" & i).Value = 2 Then
m = m + 1
Range("BY" & m).Value = Range("BM" & i).Value

End If
Next i
Sheet8.Protect "...", , , , , True, True, True, True, True, , , , , True

Application.ScreenUpdating = True
End Sub

Díky za rady, Katka

Nahlásit jako SPAM
IP: 213.168.179.–
jerry
~ Anonymní uživatel
512 příspěvků
13. 11. 2018   #2
-
0
-

#1 Kateřina
ano tak s VBA v Office je hroznýproblém poslední verze, která byla stabilní pro programování byla někde Office 2003 a vše další je nestabilní ... a navíc se liší verze od verze takže musíš pracovat jen pro konkrétní verzi ... poslední 2019 by měla být lepší než předchozí katastrofální 2013 a 2016 ... pokud máš možnost, používej celý systém Office 2003 ve virtuálním prostředí VMWare nebo něco podobného a přenášej si sebou Image.

Nahlásit jako SPAM
IP: 2a00:1028:83be:235a:d9c9:8f9c:720e:fafa...–
MilanL+1
Grafoman
14. 11. 2018   #3
-
0
-

#1 Kateřina
ahoj,

já míval problém s range("xx" & i) vyřešil jsem to dvojitýma závorkama range(("xx" & i)), také by se možná vyplatilo udělat si lokální proměnou pro worksheet nastavit

set ws=Sheet8     - z názvu objektu listu

set ws= ActiveWorkbook.Sheets("Sheet8")    - z názvu listu (jméno na záložce)

a pak pracovat s ní včetně vložení k range tzn ws.range((...

případně si kod rozkouskovat a zjistit na které/ých řádkách to detekuje tu chybu.

Nahlásit jako SPAM
IP: 91.139.9.–
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 3 hosté

Podobná vlákna

Visual Basic — založil curro70

Visual Basic? — založil Jiří

Visual Basic — založil Polarkos

Visual basic — založil Saint

Moderátoři diskuze

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý