Bosna i Hercegovina


switch Lista naslova:

#1 06.03.2017-01:50
zxz Offline
Administrator
Registrovan/a od: 03.02.2009-16:22
Komentari: 9,489


Subject: VBA Excel funkcije*
U ovoj temi bit ce predstavljene neke korisne vba funkcije a ticu se excela.
Pozdrav
↑  ↓

#2 06.03.2017-01:55
zxz Offline
Administrator
Registrovan/a od: 03.02.2009-16:22
Komentari: 9,489


Subject: Zadnj prazan red u koloni
DownloadIzvorni kod (Visual Basic):
  1. Function ZanjiRedKolone()
  2. 'Pronalazi zadnj prazan red u koloni A1
  3.    Dim ZadnjRed As Long
  4.     With ActiveSheet
  5.         ZadnjRed = .Range("A1").SpecialCells(xlCellTypeLastCell).Row
  6.     End With
  7.     MsgBox ZadnjRed
  8. End Function

Pozdrav
↑  ↓

#3 06.03.2017-02:15
zxz Offline
Administrator
Registrovan/a od: 03.02.2009-16:22
Komentari: 9,489


Subject: Zadnja kolona u redu
Pronalazi zadnju kolonu u zadatom redu
DownloadIzvorni kod (Visual Basic):
  1. Function ZadnjaPunaKolona()
  2. 'Pronalazi zadnju popunjenu kolonu u redu 1
  3.    Dim ZadnjaKolona As Long
  4.     With ActiveSheet
  5.         ZadnjaKolona = .Range("A1").SpecialCells(xlCellTypeLastCell).Column
  6.     End With
  7.     MsgBox ZadnjaKolona
  8. End Function

Pozdrav
↑  ↓

#4 06.03.2017-12:14
zxz Offline
Administrator
Registrovan/a od: 03.02.2009-16:22
Komentari: 9,489


Subject: Prazna polja u regiji
Vraca broj praznih polja u obiljezenom regionu.
DownloadIzvorni kod (Visual Basic):
  1. Function Prazna(Regija As Range)
  2. Dim Br_polja As Integer
  3.      Br_polja = WorksheetFunction.CountBlank(Regija)
  4.      MsgBox "Prazniih polja u regiji " & Regija.Address & vbCr & Br_polja
  5.      Prazna = Br_polja
  6. End Functio

Pozdrav
↑  ↓

#5 07.03.2017-20:54
zxz Offline
Administrator
Registrovan/a od: 03.02.2009-16:22
Komentari: 9,489


Subject: Broj selektovani celija
Ova procedura braca broj selektovanih celija
DownloadIzvorni kod (Visual Basic):
  1. Function Broj_Celija(Region As Range)
  2. Dim tmp As String, str As String
  3. Dim IntTmp As Integer
  4.  
  5. tmp = Region.Count
  6. tmp = Right(tmp, 1)
  7. IntTmp = Val(tmp)
  8.     If tmp > 1 And tmp < 5 Then
  9.     str = "
  10. elije"
  11.     Else
  12.     str = " elija"
  13.     End If
  14. MsgBox "Ukupno: " & Region.Count & " " & str
  15. Broj_Celija = Region.Count
  16. End Function

Pozdrav
↑  ↓

#6 07.03.2017-21:02
dex Offline
Super Moderator
Registrovan/a od: 23.02.2012-19:59
Komentari: 556


Subject: Re: VBA Excel funkcije*
Svaka cast!
Vodis racuna i o gramatici Smiling
↑  ↓

#7 09.03.2017-00:08
zxz Offline
Administrator
Registrovan/a od: 03.02.2009-16:22
Komentari: 9,489


Subject: Selektovanje polja
Selektovanja polja pomocu VBA.
DownloadIzvorni kod (Visual Basic):
  1. Function Selektovanje()
  2. Dim Regija As Range
  3.  
  4. Set Regija = Range("A1:B9")
  5. Regija.Select
  6. End Function

Pozdrav
Ovaj komentar je mijenjan 1 puta. zadnja izmjena 09.03.2017-01:10 od strane Avko. ↑  ↓

#8 09.03.2017-10:03
zxz Offline
Administrator
Registrovan/a od: 03.02.2009-16:22
Komentari: 9,489


Subject: Verzija excela
Ova funkcija vraca verziju excela u kojem radite
DownloadIzvorni kod (Visual Basic):
  1. Function verzija()
  2. Dim Ver As Integer
  3. Dim Str As String
  4. Ver = Val(Application.Version)
  5. Select Case Ver
  6. Case 8
  7. Str = "Excel 97"
  8. Case 9
  9. Str = "Excel 2000"
  10. Case 10
  11. Str = "Excel 2002"
  12. Case 11
  13. Str = "Excel 2003"
  14. Case 12
  15. Str = "Excel 2007"
  16. Case 14
  17. Str = "Excel 2010"
  18. Case 15
  19. Str = "Excel 2013"
  20. Case 16
  21. Str = "Excel 2016"
  22. Case Else
  23. Str = "Nepoznata verzija"
  24. End Select
  25.  
  26. MsgBox Str
  27. End Function

Pozdrav
↑  ↓

#9 09.03.2017-15:13
Avko Offline
Administrator
Registrovan/a od: 28.05.2014-09:21
Komentari: 2,758


Subject: Razlika izmedu dva string vremena
Nije problem usporediti datum u VBA, no ponekad u nekim slucajevima imate samo vrijeme u celijama, a i to vrijeme je formatirano kao string.
funkcija koja usporeduje dva vremena koja su formatirana kao string.

DownloadIzvorni kod (Visual Basic):
  1. sub test()
  2.   If vrijemeBroj("10:34:21") > vrijemeBroj("11:23:11") Then
  3.                  MsgBox "vece"
  4.   ElseIf vrijemeBroj("10:34:21")<vrijemeBroj("11:23:11") then
  5.                  MsgBox "manje"
  6.   else
  7.                  MsgBox "jednako"
  8.   End if
  9.  
  10. end sub
  11.  
  12. Function vrijemeBroj(vrijeme As String) As Long
  13.     vrijemeBroj = CLng(Replace(Format(vrijeme, "hhnnss"), ":", ""))
  14. End Function

Newton laže! Lake padaju brže!
Ovaj komentar je mijenjan 1 puta. zadnja izmjena 09.03.2017-15:14 od strane Avko. ↑  ↓

#10 10.03.2017-16:33
dex Offline
Super Moderator
Registrovan/a od: 23.02.2012-19:59
Komentari: 556


Ocjena: Ocjena:100 Subject: Presek
A jeste li znali za funkciju presek.
Obelezava se sa SPACE (razmak)

Ako u formula Bar ukucamo =D1:D8 B2:M2 ili =D:D 2:2

Dobicemo vrednost u iz celije D2

Moze da se koristi i u matricnim formulama, kao rezultat daje oblast preseka dve oblasti

Na prvi pogled nista narocito, ali funkcija svoju pravu snagu pokazuje u kombinaciji sa INDIRECT i imenovanim podrucjima. Nesto slicno kao MATCH - INDEX, samo mnoogooo jednostavnije

Videti primer. Obratite paznju na D18, zgodno za pretrazivanje velikih tabela.
Moze da se iskoristi i za prebacivanje unakrsnih tabela u bazu podataka, ali o tome u novoj temi

Prilozi:
Informacije o fajlu: zip  Presek.zip
Preuzimanja: 29
Veličina: 2.36 KB

↑  ↓

#11 11.03.2017-10:56
Avko Offline
Administrator
Registrovan/a od: 28.05.2014-09:21
Komentari: 2,758


Subject: Re: VBA Excel funkcije*
Ja dodao grad i neke vrijednosti za mjesece i onda u onoj koloni desno upisao
=INDIRECT(K28) INDIRECT(L28), ali mi dao rezultat: #REF!
Newton laže! Lake padaju brže!
↑  ↓

#12 11.03.2017-11:06
dex Offline
Super Moderator
Registrovan/a od: 23.02.2012-19:59
Komentari: 556


Subject: Re: VBA Excel funkcije*
Trebas ponovo redefinisati nazive oblasti.
Oznacis oblast, odes na formula ribon, kod defined names kliknes create from selection, cekiras top row i left column
Ovaj komentar je mijenjan 1 puta. zadnja izmjena 11.03.2017-11:13 od strane dex. ↑  ↓

#13 12.03.2017-13:37
zxz Offline
Administrator
Registrovan/a od: 03.02.2009-16:22
Komentari: 9,489


Subject: Slobodan prostor na disku
Da bi procedura radila u referencama treba biti ukljuceno:
Microsoft Sripting Runtime
Procedura vraca veličinu slobodnog prostora na disku.
DownloadIzvorni kod (Visual Basic):
  1. Option Explicit
  2.  
  3. Public FSO As New FileSystemObject
  4. Function SlobodanProstor(ImeDiska As String)
  5. Dim disk As Drive
  6. Dim vel As Double
  7. Set disk = FSO.GetDrive(ImeDiska)
  8. vel = disk.FreeSpace
  9. vel = vel / 1073741824 ' pretvaranje u GB
  10. vel = WorksheetFunction.Round(vel, 2)
  11. MsgBox "Slobodnog prostora na disku " & ImeDiska & " je " & vel & " GB"
  12. SlobodanProstor = vel
  13. End Function

Pozdrav
↑  ↓

#14 12.03.2017-13:45
zxz Offline
Administrator
Registrovan/a od: 03.02.2009-16:22
Komentari: 9,489


Subject: Kreiranje direktorija
Da bi procedura radila u referencama treba biti ukljuceno:
Microsoft Sripting Runtime
Procedura kreira direktorij na zadatoj putanji

DownloadIzvorni kod (Visual Basic):
  1. Option Explicit
  2.  
  3. Public FSO As New FileSystemObject
  4. Sub NapraviDir()
  5. Dim Ime_Dir As String
  6. Ime_Dir = InputBox("Putanja do direktorija :")
  7. If Len(Ime_Dir) > 0 Then
  8.   If FSO.FolderExists(Ime_Dir) = True Then
  9.     MsgBox "Direktorij ve postoji!"
  10.   Else
  11.     FSO.CreateFolder (Ime_Dir)
  12.     MsgBox ("Direktorij je kreiran!")
  13.   End If
  14. Else
  15.   MsgBox "Niste upisali putanju i ime direktorija"
  16. End If
  17. End Sub

Pozdrav
↑  ↓

#15 11.07.2017-08:13
Avko Offline
Administrator
Registrovan/a od: 28.05.2014-09:21
Komentari: 2,758


Subject: Re: trazi zadnju kolonu
    A    B    CD
1    Jabuka    10     
2    Tresnja    5     
3    Visnja    6     
4    Sljiva    12    2 
5    Banana    10    3 
6    Kruska    4    8
7    Krastavac    5     

funkcija trazi zadnju kolonu
DownloadIzvorni kod (Visual Basic):
  1. Function traziZadnjuKolonu(ImeSita As String)
  2.     Dim Zadnji As Long
  3.     Dim ws As Worksheet
  4.     Dim zadnjaCelija As Range
  5.    
  6.     Set ws = Sheets(ImeSita)
  7.    
  8.     Set zadnjaCelija = ws.Cells.Find(What:="*", After:=ws.Cells(1, 1), LookIn:=xlFormulas, _
  9.                                     LookAt:=xlPart, SearchOrder:=xlByColumns, _
  10.                                     SearchDirection:=xlPrevious, MatchCase:=False)
  11.    
  12.     Zadnji = zadnjaCelija.Column
  13.     traziZadnjuKolonu = Zadnji
  14. End Function

pozivamo ju :
aktivniList = ActiveSheet.Name
zadnjaKolona = traziZadnjuKolonu(aktivniList)
Newton laže! Lake padaju brže!
Ovaj komentar je mijenjan 1 puta. zadnja izmjena 11.07.2017-08:14 od strane Avko. ↑  ↓

Stranice (1): 1


All times are GMT +01:00. Current time: 23.11.2017-19:15.