Novo

Forum kao aplikacija na telefonu

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

  • 1 odgovor
  • 1.995 pregleda

Najnovija ↓

Makro koju kopira sheet i javi ako već postoji 21.11.2014. u 22:41 · pre 145 meseci #1
Bok!
Imam jedan problem u excelu.
U radnoj knjizi imam 1 sheet sa imenom JELOVNIK. Hteo bih da makro napravi 2 kopije tog sheeta. Jednoj kopiji treba dati ime JELOVNIK_OH a drugoj JELOVNIK_TIARA. Ako sheetovi sa ovim imenima već postoje neka putem msgboxa javi da postoje. U tom slučaju ne trebam kopije ali ako jih nema i makro jih napravi neka opet putem msgboxa javi da je napravio kopiju sa imenom JELOVNIK_OH i kopiju sa imenom JELOVNIK_TIARA. Dalje, ako postoji samo jedna kopija, neka napravi onu koje nema i opet javi, da je napravio kopiju sheeta sa imenom (kopija koje nema) a drugu nije napravio jer več postoji.

Nadam se da ste me razumeli.
Pozdrav iz SLO.
Re: Makro koju kopira sheet i javi ako već postoji 22.11.2014. u 13:00 · pre 145 meseci #2
Prema tvojim zahtevma čini me se zgodno da napraviš funkciju koja kopira list sa određenim imenom u zadato ime (da se ne ograničimo na ovaj poseban slučaj možda se iskoristi za još nešto) i kao rezultat vraća string sa rezultatom akcije: "Kreiran list" ili "Već postoji"

Code:
Private Function CopySheet(strShSource As String, strShDest As String) As String
' Ako ne postoji shDest kreira ga na osnovu shSource
' Kao izlaz  formira se poruka  o rezultatu akcije
' P.Jovanovic za elitesecurity.org
'
 If WorksheetExists(strShDest) Then
 ' Ako vec  postoji
    CopySheet = "Radni list " & strShDest & " već postoji"
 Else ' Ako ne kopira
    ThisWorkbook.Sheets(strShSource).Copy _
         after:=ActiveWorkbook.Sheets(strShSource)
    ActiveSheet.Name = strShDest
    CopySheet = "Radni list " & strShDest & " je kreiran kao kopija " & strShSource
 End If
End Function


Sad ovu funkciju u tvom slučaju pozivaš dva puta sa odgovarajućim parametrima i "sabiraš" poruke. Na kraju sa MsgBox prikažeš celu poruku. U navedenoj funkciji koristi se funkcija WorksheetExist, koja jednostavno daje True/False za zadato ime, a na osnovu toga da je rezultat Sheets(WorksheetName).Name Error ako ne postoji list sa tim imenom.

Potpis
Nije to loše Rembrante, samo što ne bi dodao još malo boje?
Sviđa mi se1
Prijavite se da biste odgovorili u ovoj temi.PrijavaRegistracija

Premeštanje teme