ID tematu: 75907
 |
Makro do przeciągania formuł w kolejnych wierszach |
Autor |
Wiadomość |
Mejdej2003
Świeżak

Wersja: Win Office 2010
Posty: 2
|
Wysłany: 11-06-2024, 10:29 Makro do przeciągania formuł w kolejnych wierszach
|
|
|
Witam.
Mam wielką bazę danych, z której chcę zrobić kalkulator do szybkiego przeliczania zapotrzebowania towarowego.
Jest tam lista produktów, które są zbudowane z innych półfabrykatów.
Wiersze zaznaczone kolorem zielonym to produkty główne.
Chciałbym wyciągać sobie listę zapotrzebowania do wykonania określonej ilości wyrobów gotowych (taki kalkulator). Doszedłem już jak na szybko wstawić formuły do komórek głównych (w moim przypadku F2, F13, F24). Teraz chciałbym formuły w tych komórkach przeciągnąć w dół. Czy jest możliwość aby to zrobić jednocześnie? Problemem jest to, że nie są to komórki przylegające do siebie. Pojedynczo odpada bo mam takich produktów kilkanaście tysięcy (w sumie ponad 60 tys. wierszy w arkuszu). Może jakieś makro by to ogarnęło? Nie jestem biegły w programowaniu. Chyba, że ktoś ma inny pomysł na taki kalkulator.
Na pewno format wejściowy musi być taki jak w pliku.
Przykład.xlsx Wycinek z mojej bazy |
Pobierz Plik ściągnięto 32 raz(y) 9.63 KB |
|
_________________ Paweł |
|
 | ID posta:
435773
|
|
|
 |
|
|
|
Maciej Gonet
Excel Expert

Wersja: Win Office 365
Pomógł: 3596 razy Posty: 10587
|
Wysłany: 11-06-2024, 11:58
|
|
|
Czy poszczególne bloki mają jednakową długość (jak w przykładowych danych)?
Czy między blokami jest zawsze pusty wiersz?
Jeśli bloki nie mają jednakowej długości, to czy zawsze będzie wpisany numer towaru nadrzędnego, identyfikujący blok?
Czy kody towarów nadrzędnych mogą się powtarzać w różnych grupach, czy zawsze występują w jednej grupie? |
|
 | ID posta:
435775
|
|
|
 |
|
|
hurgadion
ExcelSpec


Wersja: Win Office 2021
Pomógł: 1219 razy Posty: 2815
|
Wysłany: 11-06-2024, 12:09
|
|
|
Hej,
proponuję takie makro:
Kod: |
Sub napisz_formule()
Dim i&, adres As String
adres = "$D$2"
For i = 2 To Cells(Rows.Count, "E").End(xlUp).Row
If Cells(i, "D").Value = "" Then
Cells(i, "F").Value = ""
Else
If Cells(i - 1, "F").Value = "" Then adres = "$D$" & i
Range("F" & i).Formula = "=" & adres & "*D" & i
End If
Next i
End Sub
|
Przetestuj czy działa, i czy dobrze działa, pozdrawiam
Przykład.xlsm
|
Pobierz Plik ściągnięto 30 raz(y) 15.65 KB |
|
|
 | ID posta:
435776
|
|
|
 |
|
|
Mejdej2003
Świeżak

Wersja: Win Office 2010
Posty: 2
|
Wysłany: 12-06-2024, 12:29
|
|
|
Dokładnie o coś takiego mi chodziło :) Działa jak należy. Dzięki |
_________________ Paweł |
|
 | ID posta:
435788
|
|
|
 |
|
|
|
Nie możesz pisać nowych tematów Nie możesz odpowiadać w tematach Nie możesz zmieniać swoich postów Nie możesz usuwać swoich postów Nie możesz głosować w ankietach Nie możesz załączać plików na tym forum Możesz ściągać załączniki na tym forum
|
Dodaj temat do Ulubionych Wersja do druku
|
|
Strona uĹźywa plikĂłw cookies.
Kliknij tutaj, Ĺźeby dowiedzieÄ siÄ jaki jest cel uĹźywania cookies oraz jak zmieniÄ ustawienia cookie w przeglďż˝darce.
KorzystajÄ
c ze strony uĹźytkownik wyraĹźa zgodÄ na uĹźywanie plikĂłw cookies, zgodnie z bieĹźÄ
cymi ustawieniami przeglÄ
darki.
SprawdĹş, w jaki sposĂłb przetwarzamy dane osobowe
|