Novo

Forum kao aplikacija na telefonu

Dodajte forum na početni ekran i koristite ga kao aplikaciju, sa menijem na dnu ekrana.

automatksko insertovanje, ubacivanje redova u vise sheetova odjednom

  • 7 odgovora
  • 6.786 pregleda

Najnovija ↓

automatksko insertovanje, ubacivanje redova u vise sheetova odjednom 09.04.2013. u 10:58 · pre 165 meseci #1
Potrebna mi je pomoc oko automatskog kopiranja podataka, ili ako neko mozda zna da kaze bolje resenje,

Imam sheet 1 ( sumarum podataka na sheet 2,3,4,5 )

Stim sto je tako podeseno da u sheet1 1-5 reda idu podaci iz sheeta 2, 6-10 reda podaci iz sheeta 3 , 11-15 reda podaci iz sheeta 4 i 16-20 reda podaci iz sheeta 5.

Kao sto se vidi na prikacenom fajlu.

1-3 su prekopirani automatski podaci iz sheeta 2 tj ova vrednost "ddd" , e sada ako stavim an 4. mesto nesto i to ce se automatski prekopirati to nije problem, ali ako ubacim izmedju 2 i 3 reda jedan novi red ( insertujem novi red izmedju ) podaci iz tog rega se nece pokazati na sheetu 1. Znaci meni zapravo treba pomoc kako da insertujem red u sheet 2 a da se automtski taj red insertuje i u sheet 1 , takodje ako insertujem red u sheet 3 kako se taj red insertuje automatski u sheet 1.
Re: automatksko insertovanje, ubacivanje redova u vise sheetova odjednom 09.04.2013. u 11:14 · pre 165 meseci #2
Ako ovo ne moze ovako da se resi meni je bitno samo ako ubacim novi red u sheet 2 da se podaci iz tog reda automatski prekopiraju u sheet1 koji je sumarum svih sheetova, moze i na zadnje mesto nije problem, samo da se podaci automatski prekopiraju iz svih shetova u sheet 1 ako dodam nesto, ili ubaci neki sheet izmedju.
Re: automatksko insertovanje, ubacivanje redova u vise sheetova odjednom 09.04.2013. u 12:39 · pre 165 meseci #3
Ovo je rešenje sa pomoćnim kolonama.
Prvo u kolonama D,E,F,G povučemo podatke iz drugih šitova koristeći indirect(address) formulu tako da povučemo podataka iz svakog reda, nezavisno da li je reč o starom podatku ili o novododatom redu.

Sada prebrojimo broj podataka u Sheetovima i te rezultate stavimo u H kolonu. Koristeći ove brojeve prepišemo podatke iz kolona E,F i G u kolone I,J,K ali ih OFFSETUJEMO tako da se na kraju mogu svi podaci staviti u jednu kolonu.

Koristeći ugnježđenu IF funkciju kopiramo podatke iz kolona D,I,J,K u kolonu L. Sada će ta kolona L prikazivati sve što se nalazi u ostalim Sheetovima.
Re: automatksko insertovanje, ubacivanje redova u vise sheetova odjednom 09.04.2013. u 16:13 · pre 165 meseci #4
Ok, hvala na pomoci, ovo resavanje problema mi ipak ne odgovara.

Kako bi moglo da se resi onda na ovaj nacin>?

Ima sheet sumarum, sto je sve zajedno sheet A , sheet B, sheet C

Da li bi moglo nekako da se resi tako sto bi se dodavao autonumber svakoj koloni u A u sheetovima A, B i C, tako da ako se ukuca neki nov unos u A, B ili C tom redu dodaljuje automatski prvi sledeci autonumber, i kopira taj red na zadnje mesto ( tj sortira ga po autonumberu ) u sumarum sheet-u?

U prilogu je postavljeno kako bi trebao da se resi taj problem
Re: automatksko insertovanje, ubacivanje redova u vise sheetova odjednom 10.04.2013. u 14:57 · pre 165 meseci #5
Već sam pisao ranije o tome da automatsko ubacivanje reda nije dobro rešenje, jer se onda otvara problem oko istovremenog ažuriranja i brisanja

Obično se sumarni listovi dobijaju na osnovu Pivot tabele, ali ako ti treba samo prepis možeš primeniti sledeće rešenje
Napravi proceduru koja prepisuje sve redove iz jednog lista u drugi. Nju možeš da smestiš u poseban modul

Code:
Sub AddRows(shSource As Worksheet, shDest As Worksheet)
' Dodaje sve redove iz shSource
' na kraj radnog lista shDest
' P. Jovanovic za elitesecurity.org
'
Dim rwLast As Long
rwLast = shSource.Range("A65535").End(xlUp).Row ' odredjivanje poslednjeg popunjenog reda
shSource.Rows(1).Resize(rowsize:=rwLast).Copy

rwLast = shDest.Range("A65535").End(xlUp).Row ' odredjivanje poslednjeg popunjenog reda
If Len(shDest.Cells(rwLast, 1).Text) > 0 Then
  rwLast = rwLast + 1  ' Red od kojeg se kopira 1- ili prvi prazan
End If
shDest.Cells(rwLast, 1).PasteSpecial Paste:=xlPasteValues
Application.CutCopyMode = False

End Sub


Na dogadjaj aktivacije lista sumarum izvrši prepisivanja iz lista A, B i C u taj list. Ovaj kod moraš staviti u kod radnog lista summarum

Code:
Private Sub Worksheet_Activate()
' Prilikom aktiviranja kopira se sadrzaj iz listova
' A, B, i C po vrednosti
'
    Dim rwLast As Long
 ' Sprecavanje drugih dogadjaja i osvezavanja ekrana
    Application.EnableEvents = False
    Application.ScreenUpdating = False
 ' Brisanje prethodne liste
    rwLast = ActiveSheet.Range("A65535").End(xlUp).Row ' odredjivanje poslednjeg popunjenog reda
    ActiveSheet.Rows(1).Resize(rwLast).Delete
    
 '  Kopiranje redova iz listova
    AddRows Sheets("A"), ActiveSheet
    AddRows Sheets("B"), ActiveSheet
    AddRows Sheets("C"), ActiveSheet
    Application.CutCopyMode = False
    ActiveSheet.Range("A1").Select
  
  '
    Application.EnableEvents = True
    Application.ScreenUpdating = True
   
End Sub


Naravno ovo sad treba prilagoditi tvom primeru - da li kopiranje počinje od prvog reda ili ne i sl.
Potpis
Nije to loše Rembrante, samo što ne bi dodao još malo boje?
Prijavite se da biste odgovorili u ovoj temi.PrijavaRegistracija

Premeštanje teme