Microsoft Excel - Makro do kopiowania danych faktury [zamknięte]

0

Dobra, tak długa historia jest taka, że ​​budujemy całkowicie niestandardową bazę danych i system faktur z obsługą Makr. Obecnie udało nam się skonfigurować makra do dodawania nowych klientów, wyszukiwania istniejących # klientów, tworzenia faktury z wyskakującym okienkiem do wprowadzenia numeru klienta, który automatycznie wypełnia informacje o klientach na fakturze, przycisk dodawania SKU produktu, który automatycznie wypełnia opis i cenę.

Wydaje się, że głównym problemem jest możliwość utworzenia przycisku Zapisz fakturę, który kopiuje dane komórki z niektórych komórek do nowego arkusza roboczego.

Praktycznie to, co chcemy skopiować, to:

Komórki E5 i F5, które są połączonymi komórkami w pierwszą otwartą przestrzeń w kolumnie A.

Komórki E6 i F6, które są połączonymi komórkami w pierwszą otwartą przestrzeń w kolumnie D.

Komórki E7 i F7, które są połączonymi komórkami w pierwszą otwartą przestrzeń w kolumnie C.

Komórki B10 i C10, które są połączonymi komórkami w pierwszą otwartą przestrzeń w kolumnie B.

Komórka G49 w pierwszej otwartej przestrzeni w kolumnie E.

Komórka G50 w pierwszą otwartą przestrzeń w kolumnie F.

Komórka G51 w pierwszą otwartą przestrzeń w kolumnie G.

Nowy arkusz, do którego należy skopiować, to nazwy Faktury i jest przenoszony z karty Potwierdzenie, naciskając przycisk Zapisz fakturę.

John Shepherd
źródło
2
„tworzymy całkowicie niestandardową bazę danych obsługującą makra” - więc robisz to bez podstawowej wiedzy na temat makr? Czy oczekujesz, że wykonamy Twoją pracę? Uwaga: nie jest to bezpłatna usługa pisania kodu, odpowiadamy na konkretne pytania, pokaż, co próbowałeś, i opisz dokładnie z tym problem.
Máté Juhász
Skopiowanie tego do nowego arkusza oznacza pusty arkusz? Nie chcesz wiersza nagłówka? Chcesz nowy arkusz za każdym razem, gdy go zapisujesz? Ponieważ oznacza to, że pierwszy pusty wiersz będzie zawsze wierszem 1, jeśli za każdym razem utworzysz nowy arkusz faktur. Czy oczekujesz, że wszystkie te elementy w A: G będą znajdować się w tym samym pierwszym pustym wierszu. Być może możesz to wyjaśnić. Czego spróbowałeś do tej pory?
datatoo
Właściwie to nie pytałem o dokładne kodowanie. Mam podstawową wiedzę na temat makr, ale nigdy nie próbowałem określić pojedynczej komórki z całej faktury w moim zakresie i robić to wielokrotnie dla 1 faktury. Kopiuję numer faktury, nazwę klienta, numer identyfikacyjny klienta, datę i sumę faktury z faktury do jednego arkusza roboczego, a nie nowego arkusza dla całej faktury, ponieważ byłoby to o wiele prostsze. Prosiłam tylko o wskazówki dotyczące określania wielu zakresów pojedynczych komórek w makrze
John Shepherd
I dziękuję datatoo. Spróbuję tego, kiedy wrócę do domu, a następnie sprawdzę, czy mogę stamtąd dowiedzieć się, jak działają specyfikacje pojedynczej komórki, jeśli muszę to zmienić.
John Shepherd,
Uwaga: superuser.com nie jest darmową usługą pisania skryptów / kodów. Jeśli powiesz nam, co próbujesz do tej pory (dołącz skrypty / kod, którego już używasz) i gdzie utknąłeś, możemy spróbować pomóc w rozwiązaniu określonych problemów. Powinieneś także przeczytać Jak zadać dobre pytanie? .
DavidPostill

Odpowiedzi:

0

To może być to, co opisujesz.

Sub saveButton()
 Set ws = Sheets("Invoices")
 Set rs = Sheets("Receipts")
 LastRow = ws.Range("A" & Rows.Count).End(xlUp).Row + 1
  ws.Range("A" & LastRow) = rs.Range("E5")
  ws.Range("D" & LastRow) = rs.Range("E6")
  ws.Range("C" & LastRow) = rs.Range("E7")
  ws.Range("B" & LastRow) = rs.Range("B10")
  ws.Range("E" & LastRow) = rs.Range("G49")
  ws.Range("F" & LastRow) = rs.Range("G50")
  ws.Range("G" & LastRow) = rs.Range("G51")
End Sub
datatoo
źródło