Excel – automatyczny zapis danych do innego skoroszytu

Witam,
Mam tabelkę w excelu, w której wyliczane są pewne dane, jak zrobić, aby po wyliczeniu wynik był przerzucany do innego skoroszytu? Oczywiście tak, aby kaźda kolejna dana w komórce niźej.

Odpowiedzi: 3

To moźe tak:
Sub KopiujDoBazy()
Dim data As Date
Dim nrTr As Double
Dim rgKlient As Range, kom As Range
Dim shB As Worksheet
Dim w As Long

If ActiveSheet.Name <> "WYLICZENIA" Then Exit Sub

Set shB = Worksheets("BAZA")
w = shB.Range("A65536").End(xlUp).Row + 1

data = Range("D2").Value
nrTr = Range("C5").Value

Set rgKlient = Range("C10:C17")
For Each kom In rgKlient
If kom.Value <> "" Then
shB.Cells(w, 1) = data
shB.Cells(w, 2) = nrTr
shB.Cells(w, 3) = kom.Value
shB.Cells(w, 4) = kom.Offset(0, 1).Value
w = w + 1
End If
Next kom
End Sub


Ale przygotuj miejsce w BAZIE na dopisywane dane formatując odpowiednio puste komorki (wiersze).

Mała sugestia: w kolumnie "koszty rozliczone" arkusza WYLICZENIA, zastosował bym dodatkowo funkcję ZAOKR(...).
ohcyR
Dodano
10.03.2006 02:02:45
Witam,
Dziękuję za pomoc, trochę za ogólnie opisałem mój problem

Chodzi mi o coś takiego, mam tabelkę gdzie są wyliczane – koszty rozliczane potrzebuje, aby do 2 skoroszytu ("BAZA") były przenoszone dane z (plik poniźej) WYLICZENIA do "BAZA": DATA TRANSPORTU, NR TRANSPORTU, KLIENT, KOSZTY ROZLICZONE z tym źe jeźeli jest więcej niź jeden klient to DATA TRANSPORTU i NR TRANSPORTU maja się powtarzać moźe lepiej jak pokaźę to w pliku.


Dziękuje za pomoc

PLIK
maty603
Dodano
09.03.2006 23:12:36
Witaj.

Na tak ogólnikowo postawiony problem moźna odpowiedzieć tylko bardzo ogólnie.

Moźesz zastosować takie makro:

Sub KopiujDoZbiorczego()
Const NazwaArkuszaZbiorczego = "Zbiorczy"
Dim shD As Worksheet, rgS As Range
Dim i As Integer, w As Long

If ActiveSheet.Name = NazwaArkuszaZbiorczego Then Exit Sub

Set rgS = ActiveSheet.Range("A1").CurrentRegion
Set shD = Worksheets(NazwaArkuszaZbiorczego)

w = 1
For i = 1 To rgS.Columns.Count
w = WorksheetFunction.Max(w, shD.Cells(65536, i).End(xlUp).Row + 1)
Next i

Application.ScreenUpdating = False
rgS.Copy
shD.Cells(w, 1).PasteSpecial Paste:=xlPasteFormats
shD.Cells(w, 1).PasteSpecial Paste:=xlPasteValues
Application.CutCopyMode = False
Application.ScreenUpdating = True

End Sub
ohcyR
Dodano
09.03.2006 17:03:46
maty603
Dodano:
09.03.2006 14:26:11
Komentarzy:
3
Strona 1 / 1