-
Fototrend
A Microsoft Excel topic célja segítséget kérni és nyújtani Excellel kapcsolatos problémákra.
Kérdés felvetése előtt olvasd el, ha még nem tetted.
Új hozzászólás Aktív témák
-
-
Delila_1
Topikgazda
Cella méretéhez nem tudom igazítani a képeket, pedig állítólag lehet.
A lenti makró az A oszlop celláihoz rendel megjegyzéseket, és ezekbe teszi be a képet.Az útvonalat írd át. A képeket ehhez a módszerhez át kell nevezned Kép1, Kép2, stb. névre. Érdemes új mappát létrehozni, abba bemásolni az eredeti képeket, és ott adni nekik új nevet. A Total Commander csoportos átnevezés parancsával ez könnyen megoldható.
Sub KepekMegjegyzesbe()
Dim sor%, utvonal As String
utvonal = "E:\Képek\" 'Ezt írd át
sor% = 1
Do While Cells(sor%, 1) > ""
With Cells(sor%, 1)
.Select
.AddComment
ActiveCell.Comment.Visible = True
.Comment.Text Text:=""
.Comment.Visible = True
End With
Selection.Comment.Shape.Select True
Selection.ShapeRange.Fill.UserPicture utvonal & "Kép" & sor% & ".jpg"
sor% = sor% + 1
Loop
End SubProgramozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.
-
Delila_1
Topikgazda
válasz csferke #15755 üzenetére
Egy új oszlopban összefűzöd a B és E oszlop tagjait, közéjük szóközt teszel –> =B2 & " " & E2.
Az új tartománynak nevet adsz, és ezt adod meg a lista forrásaként.Programozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.
-
Delila_1
Topikgazda
válasz csferke #15797 üzenetére
A kérdés így szólt:
"A legördülőben hogyan kell megadni, hogy pl. a lap2 B és E oszlopai szerepeljenek".
Ha csak a B oszlop adatainak kell az érvényesítésben szerepelniük, akkor azt nevezd és, és vidd be forrásként.Programozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.
-
Delila_1
Topikgazda
válasz Hobi78 #15802 üzenetére
Vegyük, hogy a másik füzet Munka1 lapján az A oszlopban a termék neve van, B-ben az ár.
A foglalási füzet D2 cella képlete (feltételezve, hogy van címsor):=FKERES(B2;[Másikfüzet]Munka1!$A:$B;2;0)
Programozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.
-
Delila_1
Topikgazda
válasz csferke #15812 üzenetére
Szia!
A Lap1 lapon vannak az adataid az A:D tartományban.
1. Az E oszlopban fűzöd össze a várost és a nevet.
2. Névadással meghatározod az E oszlop tartományát. Legyen a név mondjuk NevVaros. A hivatkozásba ezt írd: =OFSZET(Lap1!$E$2;0;0;DARAB2(Lap1!$E:$E)-1;1), ezzel eléred, hogy a névvel ellátott tartományod rugalmasan követi a bevitt adatmennyiséget.
3. A Lap2-n ne az A1-be, hanem pl. a G1-be tedd az érvényesítést. Lista, a forrás =NEvVaros
4. Az A oszlopba szövegesen felviszed, milyen adatokat akarsz látni (név, ir.szám, város, cím).
5. B1 képlete: =INDEX(Lap1!A:E;HOL.VAN($G$1;Lap1!E:E;0);SOR()), ezt lemásolod a B4 celláig.Ha nem az első sorban kezded az adatok lekérdezését a Lap2 lapon, akkor a SOR() helyett 1-et, 2-t, stb. írj.
Programozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.
-
Delila_1
Topikgazda
válasz Vladek83 #15813 üzenetére
Arra gondolsz, hogy ha egy cellába beírod, hogy "zár", akkor az első szinteket mutatja, a "nyit" beírására a másodikakat is? Erre írtam egy makrót, ami a H1 cella tartalmának a változására végrehajtja a fentieket. A makrót a laphoz kell rendelned.
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$H$1" Then
If Target = "nyit" Then
ActiveSheet.Outline.ShowLevels RowLevels:=2
ElseIf Target = "zár" Then
ActiveSheet.Outline.ShowLevels RowLevels:=1
End If
End If
End SubA H1 cellában alkalmazhatsz érvényesítést.
Programozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.
-
Delila_1
Topikgazda
válasz Vladek83 #15816 üzenetére
Az A1-re, vagy A16-ra duplán klikkelve tűnnek el, vagy jelennek meg a címhez tartozó sorok.
További Case utasításokkal bővítheted.Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Select Case Target.Address
Case "$A$1"
If Rows("2:15").Hidden = True Then
Rows("2:15").Hidden = False
Else
Rows("2:15").Hidden = True
End If
Case "$A$16"
If Rows("17:25").Hidden = True Then
Rows("17:25").Hidden = False
Else
Rows("17:25").Hidden = True
End If
End Select
End SubProgramozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.
-
Delila_1
Topikgazda
válasz Vladek83 #15818 üzenetére
Szívesen.
Nem ismerem ezeket a könyveket. Nekem 2 majdnem azonos című könyvem van, az egyiket Krizsák László, a másikat Kovalcsik Géza írta. Cím: Az Excel (verziószám) programozása.
Programozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.
-
Delila_1
Topikgazda
válasz pirit28 #15823 üzenetére
Nem az, amit kértél, de hasonló. Szálkeresztben mutatja a cellát, amire rákattintottál. A laphoz kell rendelned. Nem én írtam.
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Cells.FormatConditions.Delete
With Target
With .EntireRow
.FormatConditions.Add Type:=xlExpression, Formula1:="1"
With .FormatConditions(1)
With .Borders(xlTop)
.LineStyle = xlContinuous
.Weight = xlThin
.ColorIndex = 5
End With
With .Borders(xlBottom)
.LineStyle = xlContinuous
.Weight = xlThin
.ColorIndex = 5
End With
.Interior.ColorIndex = 20
End With
End With
With .EntireColumn
.FormatConditions.Delete
.FormatConditions.Add Type:=xlExpression, Formula1:="1"
With .FormatConditions(1)
With .Borders(xlLeft)
.LineStyle = xlContinuous
.Weight = xlThin
.ColorIndex = 5
End With
With .Borders(xlRight)
.LineStyle = xlContinuous
.Weight = xlThin
.ColorIndex = 5
End With
.Interior.ColorIndex = 20
End With
End With
.FormatConditions.Delete
.FormatConditions.Add Type:=xlExpression, Formula1:="1"
.FormatConditions(1).Interior.ColorIndex = 36
End With
End SubProgramozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.
-
Delila_1
Topikgazda
-
Delila_1
Topikgazda
válasz Vladek83 #15830 üzenetére
Érvényesítésben add meg a diagramok nevét, innen választhatod ki, melyiket szeretnéd látni. Nálam ez az A14 cellában van.
Sub diagram()
Dim nev$, d As Integer, dnev
nev$ = Range("A14")
For d = 1 To ActiveSheet.ChartObjects.Count
dnev = "Diagram " & d
If dnev = nev$ Then
ActiveSheet.ChartObjects(dnev).Visible = True
Else
ActiveSheet.ChartObjects(dnev).Visible = False
End If
Next
End SubMegteheted, hogy egy eseményvezérlésbe teszed be a makrót, akkor a választás után nem kell külön indítani, azonnal a kedvenc diagramod lesz látható. Ezt a makrót a laphoz kell rendelned.
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$A$14" Then
Dim nev$, d As Integer, dnev
nev$ = Range("A14")
For d = 1 To ActiveSheet.ChartObjects.Count
dnev = "Diagram " & d
If dnev = nev$ Then
ActiveSheet.ChartObjects(dnev).Visible = True
Else
ActiveSheet.ChartObjects(dnev).Visible = False
End If
Next
End If
End SubMindkét makrónál figyelj arra, hogy az Excel milyen nevet adott a diagramjaidnak. Nálam 'Diagram 1', 'Diagram 2', stb. Érdemes megtartani (ebben az esetben) ezeket az automatikusan generált neveket, hogy a for-next ciklusban egyszerűen utalhass rájuk.
Programozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.
-
Delila_1
Topikgazda
válasz dellfanboy #15834 üzenetére
Érd el, hogy minden lapon azonos cellában legyen az összegzendő érték. Találd meg, melyik cella szerepel a legtöbb lapon. Ha ez pl. a B30, akkor a többi lap B30 cellájába hozd be ezt az értéket. Ahol B3-ban van, ott a B30 legyen =B3. Lehet, hogy jobb egy olyan cellába vinni, amit később az adatmennyiség növekedése miatt biztosan nem írsz majd felül.
Mikor ez megvan (babrás munka, de 1× kell végrehajtani), az összegző lapon a képlet
=SZUM('Első lap neve:Utolsó lap neve'!B3)Figyelj az aposztrófokra!
Programozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.
-
Delila_1
Topikgazda
válasz A_ScHuLcZ #15832 üzenetére
Címsort feltételezve a D2 képlete legyen =DARABTELI($C$2:$C2;C2)
Lényeges a $ jelek elhelyezése. A képletet lemásolod az adataid mellé. Ahol 1-nél nagyobb számot kapsz, azt a sort törölheted.
Programozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.
-
Delila_1
Topikgazda
válasz poffsoft #15856 üzenetére
Nem tudom, miért tartasz a kimutatástól, hiszen sokkal bonyolultabb dolgokat oldasz meg. Nézz szét a YouTube-on, ott az 'Excel kimutatás'-ra rákeresel, és jobbnál jobb videókat kapsz.
Például ezt. Van folytatása.Programozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.
-
Delila_1
Topikgazda
válasz WildBoarTeam #15878 üzenetére
A tábla szerkezetének ismerete nélkül nem érdemes nekilátni, vaktában lövöldözés lenne.
Programozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.
-
Delila_1
Topikgazda
válasz WildBoarTeam #15881 üzenetére
OK.
Programozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.
-
Delila_1
Topikgazda
-
Delila_1
Topikgazda
válasz repvez #15906 üzenetére
Van egy nagyon egyszerű megoldás, a Szóköz, vagy másképpen Metszet operátort használd. A szerkesztőlécen láthatod a D13 cella képletét.
Az L1, L2 ... L9 cellákat nem véletlenül alakítottam át L_1, L2 ... L_9re, mert csak ezeket az értékeket úgy kezeli, mintha a névkezelőben nevet adtál volna nekik, ott pedig csak így fogadja el a számokat tartalmazó értékeket. A szóközök helyett is alsó kötjelet tettem a Nagyon... kezdetű nevekbe.
A képletben a két név közé szóközt kell tenned, ezért hívják szóköz operátornak.
[ Szerkesztve ]
Programozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.
-
-
Delila_1
Topikgazda
-
Delila_1
Topikgazda
válasz repvez #15927 üzenetére
Ellenőrizd, hogy a képletben és az érvényesítésben szereplő értékek azonosak-e. Lehet, hogy ahonnan az érvényesítésbe beveszed, a végén van egy szóköz, vagy valami más, nem látható karakter. Ez elég sűrűn előforduló hiba.
Igen, lehet 2 helyre vinni az eredményt. Vagy beírod a másik helyre is az indexes függvényt, vagy csak egy hivatkozást, ami az eredeti függvény helyére mutat. Ha az eredeti az I4-ben van, a másik helyre elegendő az
=I4 hivatkozás.Programozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.
-
Delila_1
Topikgazda
Private Sub Workbook_Open()
Sheets("Munka1").Range("A1") = Sheets("Munka1").Range("A1") + 1
End SubA VB szerkesztőben a ThisWorkbook laphoz írd be.
Szerk.: írd át a Munka1-et és az A1-et a saját igényednek megfelelően.
[ Szerkesztve ]
Programozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.
-
Delila_1
Topikgazda
Private Sub Workbook_Open()
Sheets("Munka1").Range("A1") = Sheets("Munka1").Range("A1") + 1
workbooks("C:\Főmappa\Almappa\Másik_Fájl_Neve.xls").sheets("Munka1").range("A1")= _
workbooks("C:\Főmappa\Almappa\Másik_Fájl_Neve.xls").sheets("Munka1").range("A1")+1
End SubPróba nélkül!
[ Szerkesztve ]
Programozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.
-
Delila_1
Topikgazda
válasz csferke #15952 üzenetére
Sub Datum_L_be()
Dim sor As Integer
sor = Application.WorksheetFunction.Match([A1], Sheets(2).Columns(2), 0)
Sheets(2).Cells(sor, "L") = Date
End SubSub Novel_F_et()
Dim sor As Integer, CV As Object
For Each CV In [B27:B38]
If CV <> "" And IsNumeric(CV) Then
On Error GoTo Kov
sor = Application.WorksheetFunction.Match(CV, Sheets(2).Columns(1), 0)
Sheets(2).Cells(sor, "F") = Sheets(2).Cells(sor, "F") + Cells(CV.Row, "F")
End If
Kov:
Next
End SubProgramozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.
-
Delila_1
Topikgazda
-
Delila_1
Topikgazda
válasz poffsoft #15967 üzenetére
Ott az volt a hiba, hogy a terület értékadása elejéről lemaradt a Set.
bevétel = Sheets("Munka2").Range("E4") helyesen
Set bevétel = Sheets("Munka2").Range("E4"), ahogy a válaszában Sztanozs is írta.Programozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.
Új hozzászólás Aktív témák
- Milyen TV-t vegyek?
- Autós topik látogatók beszélgetős, offolós topikja
- Mibe tegyem a megtakarításaimat?
- Hobby rádiós topik
- ASUS ROG PG32UCDM: OLED csúcsmonitor tesztje
- Multimédiás / PC-s hangfalszettek (2.0, 2.1, 5.1)
- Melyik tápegységet vegyem?
- Folyószámla, bankszámla, bankváltás, külföldi kártyahasználat
- Xiaomi 11 Lite 5G NE (lisa)
- HiFi műszaki szemmel - sztereó hangrendszerek
- További aktív témák...
- Bitdefender Total Security 3év/3eszköz! - "Tökéletes védelem most kedvező áron..."
- Új, bontatlan World of Warcraft gyűjtői kiadások
- Steam kulcsok - UTALÁS/REVOLUT
- AKCIÓ! - STEAM kulcsok / Punch Club, Oddworld: Soulstorm, Children of Morta, stb. - 2024.05.16.
- Bontatlan - BATTLEFIELD 1 Collectors Edition - Játékszoftver nélkül
Állásajánlatok
Cég: Ozeki Kft.
Város: Debrecen
Cég: Alpha Laptopszerviz Kft.
Város: Pécs