Wątek przeniesiony 2021-01-28 13:32 z Inne języki programowania przez cerrato.

VBA EXCEL

0

Witajcie

Przepraszam od razu za swój brak wiedzy jestem pierwszy raz na forum.

Stworzyłem sobie makro, które wykonuje kilka czynności
Punktem odniesienia jest "Komorka"

‚ ActiveSheet.Range(Komorka).Value = Cells.Range(Komorka).Value

‚ActiveSheet.Range(Komorka).Offset(0, 1).Value = Cells.Range(Komorka).Offset(0, 3).Value

‚ActiveSheet.Range(Komorka).Offset(0, 3).FormulaR1C1 = "=ROUND(RC[-1]*RC[-5],2)"

‚ActiveSheet.Range(Komorka).FormulaR1C1 = "=" & Cells.Range(Komorka).Value & "+RC[3]"

Problem tylko jest taki:

Jeżeli wartość "Komorka" jest liczbą całkowitą instrukcja

‚ActiveSheet.Range(Komorka).FormulaR1C1 = "=" & Cells.Range(Komorka).Value & "+RC[3]"

tworzy formułę, w której zamienia starą wartość "Komorka" zamienia na liczbę i dodaje do niej wartość komórki "+RC[3]"

Natomiast jeżeli wartość komórki nie jest liczbą całkowitą wyrzuca błąd:

Run-time error ' 1004' :
Application defined or object defined error

Prośba o pomoc

0

Jeśli potrzebujesz liczby zmiennoprzecinkowej użyj zmienej
Currency liczba z ustaloną kropką dziesiętną 8 bajtów

0

@Pawel1974: obsłuż błąd.
On Error...

0
MichalVB6Widzew napisał(a):

Jeśli potrzebujesz liczby zmiennoprzecinkowej użyj zmienej
Currency liczba z ustaloną kropką dziesiętną 8 bajtów

Niestety wywala ciągle ten sam błąd

0
Marcin.Miga napisał(a):

@Pawel1974: obsłuż błąd.
On Error...

Niestety błędu nie wyrzuca ale nie wpisuje formuły

1 użytkowników online, w tym zalogowanych: 0, gości: 1