|
![]() |
#1 |
Premium
Datum registracije: Jul 2008
Lokacija: Pula
Postovi: 31
|
Excel VBA
Imam jednu tablicu u Excel iz koje želim izvući podatke u drugi sheet. Treba proći cijelu tablicu, naći određeni pojam (koji se ponavlja) i u odnosu na njegovu poziciju kopirati pet ćelija (offset nekoliko redova i kolona) u jedan red na novom sheetu. Pokušao sam naći na netu neko slično rješenje ali kad ga krenem modificirati sve pokvarim. 🤔 Znam osnove programiranja ali ne puno o VBA. Any idea? Poslano sa mog EVA-L09 koristeći Tapatalk |
![]() |
![]() |
![]() |
#2 |
Moderator
Datum registracije: Sep 2006
Lokacija: St
Postovi: 22,830
|
Nije to teško iskukićati, najveća gnjavaža je složiti search / pronalaženje "naći određeni pojam", nekakvom kontrolom potvrditi da je TO ono šta se traži a onda ide copy u drugi sheet, trebaš baš napisati rutinu, koristiti varijable, samim funkcijama u ćelijama je kompliciranije ... |
![]() |
![]() |
|
|
Oglas
|
|
![]() |
#4 |
Premium
Datum registracije: Jul 2008
Lokacija: Pula
Postovi: 31
|
Pošaljem primjer kad dođem doma. Znam da se to da lako srediti, samo treba znati. 😁 U principu jesam nešto napravio ali dobijem krive rezultate. 🤔 Poslano sa mog EVA-L09 koristeći Tapatalk |
![]() |
![]() |
![]() |
#5 |
Premium
Datum registracije: Jul 2008
Lokacija: Pula
Postovi: 31
|
|
![]() |
![]() |
![]() |
#7 |
Premium
Datum registracije: Jul 2008
Lokacija: Pula
Postovi: 31
|
|
![]() |
![]() |
![]() |
#9 |
Premium
Datum registracije: Jul 2008
Lokacija: Pula
Postovi: 31
|
Krenuo sam malo podešavati svoju proceduru i prvi zadatak bio je pretvoriti iznos rate (koji je u originalu string) u broj koristeći ovo: Code:
s2.Cells(r2, 5) = Val(Left(s1.Cells(r1 + 6, 2), Len(s1.Cells(r1 + 6, 2)) - 4)) ' iznos rate ![]() Zašto kroz formulu radi dobro a ovdje ne? |
![]() |
![]() |
![]() |
#10 |
Registered User
Datum registracije: Jun 2017
Lokacija: Pula
Postovi: 110
|
|
![]() |
![]() |
|
|
Oglas
|
|
![]() |
#11 |
Premium
Datum registracije: Jul 2008
Lokacija: Pula
Postovi: 31
|
|
![]() |
![]() |
![]() |
#12 |
Premium
Datum registracije: Aug 2014
Lokacija: vukovar
Postovi: 107
|
Da ne dizem novu temu, molim pomoc u vezi Excel makroa. ![]() Macro treba na polje A1 (Ivan Ivic) ucitati sliku s hdd-a C:\slike\Ivan Ivic.jpg u comment (u novijem Excelu se zove Note) u velicini kao originalna slika, s dimenzijama commenta isto kao i slika. Nakon toga se spusta jedno polje nize (A2) gdje pise Pero Peric i ucitava sliku C:\slike\Pero Peric.jpg itd., sve dok ne dodje do polja na kojem ne pise nista (A7) i tu staje. Ukratko, zelim svakom polju u koloni A koje sadrzi ime i prezime dodati u comment pripadajucu sliku istog naziva iz mape C:\slike\, s tim da slika bude iste velicine kao original, a comment (Note) bude iste velicine kao slika. Imam ovaj kod, samo sto moram rucno dodati sliku, slika nije iste velicine/omjera i nije ostra kao original (vjerojatno zato sto nije ista velicina). Sub Pic() ' ' Pic Macro ' With Application.FileDialog(msoFileDialogFilePicker) .AllowMultiSelect = False 'Only one file .InitialFileName = CurDir 'directory to open the window .Filters.Clear 'Cancel the filter .Filters.Add Description:="Images", Extensions:="*.jpg", Position:=1 .Title = "Choose image" If .Show = -1 Then TheFile = .SelectedItems(1) Else TheFile = 0 End With 'No file selected If TheFile = 0 Then MsgBox ("No image selected") Exit Sub End If Selection.ClearComments Selection.AddComment Selection.Comment.Visible = True Selection.Comment.Shape.Fill.UserPicture TheFile Selection.Comment.Shape.Select True Selection.ShapeRange.ScaleWidth 1, msoFalse, msoScaleFromTopLeft Selection.ShapeRange.ScaleHeight 1, msoFalse, msoScaleFromTopLeft Selection.ShapeRange.LockAspectRatio = True ActiveCell.Comment.Visible = True End Sub - Trebalo bi za svaku celiju sadrzaj kopirati u CLIPBOARD i onda ucitati sliku s lokacije C:\slike\CLIPBOARD.jpg u originalnoj velicini. Hvala unaprijed Zadnje izmijenjeno od: stribor919. 11.08.2020. u 19:51. |
![]() |
![]() |
![]() |
#13 |
Premium
Datum registracije: Aug 2014
Lokacija: vukovar
Postovi: 107
|
Evo, rijesio sam problem 90%. Jedino ne mogu dobiti da mi je slika u originalnoj velicini pa sam automatski podesio sve slike, odredio dimenzije u excelu koje mi odgovaraju i to je to. Ako netko moze pomoci da ipak dobijem slike originalne velicine bio bih zahvalan. Evo kod: Sub PicFromCellNameColumnA() Dim rngList As Range Dim c As Range Dim cmt As Comment Dim strPic As String On Error Resume Next Range("A1").Select Set rngList = Range(Selection, Selection.End(xlDown)) strPic = "C:\slike\" For Each c In rngList With c.Offset(0, 0) Set cmt = c.Comment If cmt Is Nothing Then Set cmt = .AddComment End If With cmt .Text Text:="" .Shape.Fill.UserPicture strPic & c.Value & ".jpg" .Shape.Select True .Shape.width = 137 .Shape.height = 200 .Shape.LockAspectRatio = True .Visible = False End With End With Next c End Sub |
![]() |
![]() |
![]() |
#15 |
Registered User
Datum registracije: Sep 2022
Lokacija: Zagreb
Postovi: 5
|
Upadam ovdje s pitanjem da ne dizem novu temu: Trebam pomoc oko oznacavanja checkboxeva na nekom sheetu. Vba kod koji imam mi oznaci sve checkboxeve na tom sheetu, a meni treba odredjeni broj ovisno o vrijednosti u jednoj celiji. Npr. U celiji B2 je vrijednost 15 i trebao bi mi oznaciti samo prvih 15 checkboxeva na tom sheetu, a ne sve. Ima netko ideju? Hvala |
![]() |
![]() |
![]() |
#17 | |
Registered User
Datum registracije: Jun 2017
Lokacija: Pula
Postovi: 110
|
Citiraj:
|
|
![]() |
![]() |
![]() |
#18 |
Registered User
Datum registracije: Sep 2022
Lokacija: Zagreb
Postovi: 5
|
Znaci, imam nekih 300 checkboxeva u excelu. Kod svake neke analize, moram poklikati drugi broj checkboxeva. Za pocetak sam napravila jedan checkbox koji ih oznaci sve da ne moram klikati 300 puta ako je za tu analizu potreban broj 300. I to mi radi ako treba oznaciti sve. Medutim, dogodi se da sljedeci put moram kliknuti samo prvih 30, a ostalih 270 ne. Koliko ih moram kliknuti, govori mi vrijednost u celiji E16. Moj kod je bio : Sub SelectAll Click() Dim xCheckBox As CheckBox For Each xCheckBox In Application.ActiveSheet.CheckBoxes If xCheckBox.Name <> Application.ActiveSheet.CheckBoxes (“Check Box 471”.Name Then xCheckBox.Vakue= Application.ActiveSheet.CheckBoxes (Check Box 481”). Value End If Next End Sub Mislila sam da moram uglaviti funkciji for i=1 To Range (“E16”) Samo kako nisam strucnjak u tome… ne znam kako da uglavim da kad kliknem na celiju Select All, da ih oznaci samo onoliko kolika je vrijednost u celiji E16, npr 15. Zadnje izmijenjeno od: Slađa. 13.09.2022. u 15:31. |
![]() |
![]() |
![]() |
#19 | |
Registered User
Datum registracije: Jun 2017
Lokacija: Pula
Postovi: 110
|
Citiraj:
Code:
Sub SelectSome Click() Dim xCheckBox As CheckBox Dim i as Integer i = 0 For Each xCheckBox In Application.ActiveSheet.CheckBoxes If (i < Range("E16").Value) Then xCheckBox.Value = True End If i = i + 1 Next End Sub |
|
![]() |
![]() |
![]() |
#20 | |
Registered User
Datum registracije: Jun 2017
Lokacija: Pula
Postovi: 110
|
Citiraj:
Code:
Private Sub selectSome_Click() Dim i As Integer Application.ActiveSheet.CheckBoxes.Value = False For i = 1 To Range("E16").Value Application.ActiveSheet.CheckBoxes("Check Box " & i).Value = True Next i End Sub |
|
![]() |
![]() |
![]() |
#21 |
Registered User
Datum registracije: Sep 2022
Lokacija: Zagreb
Postovi: 5
|
Super, hvala, radi mi ovaj gornji prvi kod gdje nisam navela kako se Checkboxevi zovu. HVala! Sad jedino mi jos fali ako ih sve oznaci na tom jednom Checkboxu da ih drugim klikom i odznaci. Znaci,jednim checkboxom ih mogu oznaciti (to sad radi ovim kodom) i odznaciti. |
![]() |
![]() |
![]() |
#22 | |
Registered User
Datum registracije: Jun 2017
Lokacija: Pula
Postovi: 110
|
Citiraj:
Code:
Private Sub selectSome_Click() Dim xCheckBox As CheckBox Dim i As Integer i = 0 Static switch As Boolean switch = Not switch Application.ActiveSheet.CheckBoxes.Value = False If (switch) Then For Each xCheckBox In Application.ActiveSheet.CheckBoxes If (i < Range("E16").Value) Then xCheckBox.Value = True End If i = i + 1 Next End If End Sub |
|
![]() |
![]() |
![]() |
#23 |
Registered User
Datum registracije: Sep 2022
Lokacija: Zagreb
Postovi: 5
|
Hvala vam puno! Radi |
![]() |
![]() |
![]() |
#24 |
Registered User
Datum registracije: Jun 2017
Lokacija: Pula
Postovi: 110
|
![]() |
![]() |
![]() |
|
|
Oglas
|
|
![]() |
|
|