Elektroda.pl
Elektroda.pl
X
Proszę, dodaj wyjątek www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

vba excel - Wstawianie dodatkowej kolumny pomiędzy koolumny zawierające dane

krzysieks100 29 Sie 2012 20:36 3408 11
  • #1 29 Sie 2012 20:36
    krzysieks100
    Poziom 7  

    Witam,
    Mój problem jest taki, że mam arkusz podzielony na dwie części. W jednej mam kolumny z danymi wejściowymi do pliku, a w drugiej obliczenia i powpisywane formuły.
    Formuły te zarejestrowałem za pomocą makr i wszystko jest ok, do czasu gdy nie muszę dostawić dodatkowej kolumny. Wtedy całe zaczyna się rozjeżdżać. Wiem, że są na to sposoby, niestety nigdzie nie mogę doczytać.

    Proszę o pomoc, jeśli da radę to taką konkretną z dobrym opisem krok po kroku.

    Pozdrawiam
    krzysieks100

    0 11
  • #2 29 Sie 2012 21:01
    101pawel
    Poziom 25  

    krzysieks100 napisał:
    Formuły te porejestrowałem makrami
    Co znaczy: porejestrowałem makrami?
    krzysieks100 napisał:
    i wszystko jest ok, do czasu gdy nie muszę dostawić jakiejś kolumny. Wtedy to wszystko zaczyna się rozjeżdżać.
    Wstaw ten rozjeżdżający się plik, albo podobny.
    Pozdrawiam

    0
  • #3 29 Sie 2012 21:54
    krzysieks100
    Poziom 7  

    To jest tylko schemat. Jeżeli wstawisz dodatkową kolumnę między kolumny A i B, to obliczenia w kolumnie C się rozjadą :/
    Dodam tylko, że w pliku docelowym mam znacznie więcej kolumn z danymi typu A i B, oraz znacznie, znacznie więcej kolumn z obliczeniami typu C.

    0
  • #4 29 Sie 2012 22:05
    adamas_nt
    Moderator Programowanie

    Tak z ciekawości zapytam: A co z tą wstawioną (bez skojarzeń proszę), nową kolumną? Ma jakieś znaczenie dla obliczeń? Jaki jest cel takiego działania?

    Dlaczego makro rozpoczyna od aktywnej komórki? Co, jeśli C2 jest pusta?

    0
  • #5 29 Sie 2012 22:10
    krzysieks100
    Poziom 7  

    Ma i to duży.
    Co jakiś czas dane wejściowe będą się powiększały o nowe dane, oraz o kolejne obliczenia. Wiem, że większość z tych obliczeń można by zrobić bez makra i je tak zostawić, wtedy wstawianie dodatkowych kolumn nie miałoby znaczenia, ale jednak wolałbym, żeby to chodziło z makra.

    Proszę poprawić błędy. Zdanie rozpoczynamy z wielkiej litery. [adamas_nt]

    0
  • #6 29 Sie 2012 22:18
    adamas_nt
    Moderator Programowanie

    krzysieks100 napisał:
    Ma i to duży.
    Ale my nadal nie wiemy jaki. Może zamiast dodawać dwie komórki sumuj (jeśli o to chodzi) od pierwszej do ostatniej niepustej w wierszu.

    0
  • #7 30 Sie 2012 17:22
    krzysieks100
    Poziom 7  

    Nowe, wstawiane kolumny są po to, aby znalazły się w nich dane w przyszłości, jeszcze teraz nie wiem jakie to będą dane ale wiem, że napewno się pojawią. Na podstawie tych dancyh będą dalej robione obliczenia, pewnie będę chciał żeby te obliczenia były przełożone na kod VBA

    0
  • #8 30 Sie 2012 17:37
    adamas_nt
    Moderator Programowanie

    Ale jakiś system trzeba przyjąć. A co z nagłówkami? Są przydzielona na stałe? Tzn jeśli teraz masz a,b,c i wstawisz nową, to będzie a, nowy, b, c?

    0
  • #9 30 Sie 2012 20:11
    krzysieks100
    Poziom 7  

    Tak, nagłówki są przydzielone na stałe i przy wstawianiu nowej kolumny też dostanie ona swój nagółek

    0
  • Pomocny post
    #10 30 Sie 2012 21:01
    adamas_nt
    Moderator Programowanie

    Po Bożemu powinniśmy zastosować pętlę, ale w przykładzie trzymam się pierwotnych założeń.
    Jeśli nagłówki są stałe, to można zastosować wyszukiwanie i przypisać zmiennym Nr kolumny odszukanego stringu. Cała sprawa bierze w łeb, jeśli nagłówki nie będą unikatowe.

    Zwróć uwagę na różnicę w sposobie wpisywania formuły do komórki. Składnia: "FormulaR1C1" jest o tyle prostsza, że podajesz tylko przesunięcie względem aktywnej komórki. Wszystko jest OK, jeśli znasz położenie jej oraz komórek składowych (adresów) w arkuszu.
    "Formula" - tu po prostu podstawiasz string (ciąg tekstowy). W przykładzie adresy względne, bo formuła będzie kopiowana w dół.

    Podepnij pod przycisk taką procedurę:

    Kod: vb
    Zaloguj się, aby zobaczyć kod

    0
  • #11 30 Sie 2012 21:29
    krzysieks100
    Poziom 7  

    hej,
    działa bez zarzutu, w weekend przerzucę to na właściwy plik i zobaczę jak to będzie, ale myślę, że już teraz nie będzie z tym problemu

    dzięki :)

    0
  • #12 02 Wrz 2012 10:30
    101pawel
    Poziom 25  

    adamas_nt napisał:
    Cała sprawa bierze w łeb, jeśli nagłówki nie będą unikatowe.
    Pomyślałem, że choćby z tego powodu lepiej byłoby odwołać się do nazwanych zakresów. jak czytam, problem został rozwiązany, ale być może inne rozwiązanie może komuś się przydać.
    Pozdrawiam

    0