-
GAMEPOD.hu
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
-
p5quser
tag
Sziasztok!
A segítségeteket szeretném kérni.
Az alábbi DoubleClick2Copy makró tökéletesen működik, de mindig ugyanabba a cellába illeszti be a komplett cellát.
Azt szeretném elérni, hogy a "cikkek" munkalap A oszlopából, a "Szlazo" munkalap A oszlopának 2. cellájától lefelé haladva, a következő üres cellába illessze be csak az értéket.
Ezután ugorjon a "Szlazo" munkalapban arra a cellára, ahová bemásolta az értéket, majd váltsa át az aktív cellát 2-vel jobbra, az adott sorban.Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
If Not Intersect(Target, Range("A1:A2637")) Is Nothing Then
Cancel = True
Target.Copy Destination:=Sheets("Szlazo").Range("A2")
Sheets("Szlazo").Select
ActiveCell.Offset(0, 2).Select
End If
End SubCopy-paste guy vagyok, bármiféle előképzettség nélkül, kényszer szülte megoldás ez az excel tábla, ezért a kész kódnak venném igazán hasznát.
Előre is köszönöm! -
p5quser
tag
válasz Delila_1 #36660 üzenetére
Ha lehet, elmennék a falig...
Ha azt szeretném, hogy csak a kimásolt cella értékét másolja be az adott helyre? Mivel most a teljes cella formátumot beilleszti. Valami PasteSpecial-lal kisérleteztem, de aztán azt is elengedtem....Ha esetleg épp a körmöd piszkálgatnád...
[ Szerkesztve ]
-
p5quser
tag
Sziasztok!
Hogyan lehet megnyitni több excel fájlt úgy, hogy egy excel munkafüzet munkalapjaiként jelenjenek meg? A copy-paste kissé körülményes lenne 30-akárhány munkafüzetből. Az így megnyitott összes munkalap adott oszlopainak értékeit szeretném kinyerni az első munkalapon. Vba-zni kell, vagy van erre valami égetett megoldás az excelben?
Előre is köszönöm! -
p5quser
tag
Ráleltem... Hátha másnak is jól jön. A VBA-s hókusz-pókusz megteszi amire kérem.
[ Szerkesztve ]
-
p5quser
tag
Sziasztok!
Azt hogy lehet ebben a scriptben megoldani, hogy a megnyitott excel fájlok neve legyen a munkalapok neve?
A pár hsz.-sal feljebbi kérdésemhez kapcsolódik a téma.
Előre is köszönöm!Sub CommandButton1_Click()
Dim fnameList, fnameCurFile As Variant
Dim countFiles, countSheets As Integer
Dim wksCurSheet As Worksheet
Dim wbkCurBook, wbkSrcBook As Workbook
fnameList = Application.GetOpenFilename(FileFilter:="Microsoft Excel Workbooks (*.xls;*.xlsx;*.xlsm),*.xls;*.xlsx;*.xlsm", Title:="Choose Excel files to merge", MultiSelect:=True)
If (vbBoolean <> VarType(fnameList)) Then
If (UBound(fnameList) > 0) Then
countFiles = 0
countSheets = 0
Application.ScreenUpdating = False
Application.Calculation = xlCalculationManual
Set wbkCurBook = ActiveWorkbook
For Each fnameCurFile In fnameList
countFiles = countFiles + 1
Set wbkSrcBook = Workbooks.Open(Filename:=fnameCurFile)
For Each wksCurSheet In wbkSrcBook.Sheets
countSheets = countSheets + 1
wksCurSheet.Copy after:=wbkCurBook.Sheets(wbkCurBook.Sheets.Count)
Next
wbkSrcBook.Close SaveChanges:=False
Next
Application.ScreenUpdating = True
Application.Calculation = xlCalculationAutomatic
MsgBox "Procesed " & countFiles & " files" & vbCrLf & "Merged " & countSheets & " worksheets", Title:="Merge Excel files"
End If
Else
MsgBox "No files selected", Title:="Merge Excel files"
End If
End Sub -
p5quser
tag
Sziasztok!
Esélyem sincs...
Arra össze tudnátok dobni egy szkriptet, hogy;
Egy munkafüzet összes munkalapjának (az első kivételével) "K" oszlopában lévő 1< számokat tartalmazó sorokat zölddel, a -1> számokat tartalmazó sorokat pedig pirossal kijelölje?
Ha ez valakinek kisujjból kiröppen, akkor megkérném arra is, hogy esetleg ezeket a színezett sorokat (illetve "B" és "K" oszlop-metszetüket, valamint külön cellába a munkalap nevét hozzáfűzve) másolja be az első munkalapba?
Az első munkalapba másolt adatok színenként "tömbösülnének".
Ilyesmire gondoltamTermészetesen megértem, ha valaki kisujj helyett a középső ujjából próbálja kirázni kérésem , ebben az esetben -kérem- vezessen végig a lépéseken, mint egy kétévest.
Köszönöm![ Szerkesztve ]
-
p5quser
tag
Sziasztok!
Azt meg tudnátok mutatni hogy ezt;Selection.AutoFilter
ActiveSheet.Range("$A$1:$N$316").AutoFilter Field:=11, Criteria1:=">1", _
Operator:=xlOr, Criteria2:="<-1"hogy tudom kiterjeszteni az összes munkalapra, kivéve az elsőt?
Előre is köszönöm! -
p5quser
tag
válasz Delila_1 #36956 üzenetére
Szia!
Először is köszönöm.
Nem igazán tudom beszúrni, vagy nem ilyen formában kellene utasítani, vagy passz...
Az első munkalapon lévő gombhoz van rendelve ez a makró. Lefut, de csak azon a munkalapon, amelyiken futtatom a "debug" ablakból. Valamint az első munkalapon elszáll hibával, mert nem úgy néz ki mint a többi.Sub CommandButton2_Click()
'Kijelölés
ActiveSheet.Range("$A$1:$N$330").AutoFilter Field:=11, Criteria1:=">1", _
Operator:=xlAnd
ActiveSheet.AutoFilter.Range.Select
With Selection.Interior
.Pattern = xlSolid
.PatternColorIndex = xlAutomatic
.Color = 5296274
.TintAndShade = 0
.PatternTintAndShade = 0
End With
ActiveSheet.ShowAllData
ActiveSheet.Range("$A$1:$N$330").AutoFilter Field:=11, Criteria1:="<-1", _
Operator:=xlAnd
ActiveSheet.AutoFilter.Range.Select
With Selection.Interior
.Pattern = xlSolid
.PatternColorIndex = xlAutomatic
.Color = 255
.TintAndShade = 0
End With
ActiveSheet.ShowAllData
ActiveSheet.Range("$A$1:$N$316").AutoFilter Field:=11, Criteria1:=">1", _
Operator:=xlOr, Criteria2:="<-1"
End SubEnnek a makrónak kéne lefutnia az összes munkalapon (kivéve az elsőt) a munkafüzetben, ha klikkelnek a gombra.
[ Szerkesztve ]
-
p5quser
tag
#36961 Pakliman
#36962 Delila_1
Mindkettőtöknek köszönöm, mindkettő jól működik!
Ráadásul minkettő tanít, ami jól jön a következő lépésekhez.
Mégegyszer köszönöm!Pakliman, remélem kódolgatsz a dokinál, nincs baj.
[ Szerkesztve ]
-
p5quser
tag
#mithittem
Sziasztok!
Ismét.Dim rngA As Range
Dim rngB As Range
Dim intI As Integer
Set rngA = ws.Range("B1:B400")
Set rngB = act.Range("A1:A400")
For intI = 400 To 1 Step -1
If Application.WorksheetFunction.CountIf(rngB, rngA.Cells(intI)) = 0 Then
rngA.Cells(intI).Delete Shift:=xlUp
End If
Next intIEzt az izékét hogyan kell úgy módosítani, hogy ne törölje a cella tartalmát, hanem hogy másolja ki B-ből és szúrja be A-ba, egy sor "letolással", megegyező sorba?
Köszönöm![ Szerkesztve ]
-
p5quser
tag
#nevergiveup
Sziasztok!
=INDEX('rakat1'!$A$1:$N$400;HOL.VAN(A2;'rakat1'!$A$1:$N$400;0);11)
Ez miért "hiányzik"-kal dobál engem, amikor mindkét táblában ott vannak az adatok?
Az első munkalap A2-es cellájában van a keresési érték megadva (szöveg) és a rakat1-ből szeretném kikeresni az ehhez az értékhez tartozó sor 11. oszlopának metszetét.
Ctrl-F-re behozza mindkét lapon, tehát a keresési érték helyes.
Köszönöm. -
p5quser
tag
Esetleg arra nincs valakinek tippje, hogy ezt;
For i = 2 To Sheets.Count
Cells(2, i).Formula = "=INDEX('" & Sheets(i).Name & "'!$A$1:$N$400,MATCH(A2,'" & Sheets(i).Name & "'!$B$1:$B$400,0),11)"
Next ihogyan házasítsam egy autofill-lel, hogy a cellát végighúzza az oszlopon?
Köszönöm! -
p5quser
tag
Sziasztok!
Hogy tudnék ebben a sorban
ActiveSheet.Cells(2, x + 2).Formula = "=RC[-1]*2222222"
"2222222" helyett a
=(INDEX('sheet2'!$A$1:$N$400,MATCH(A2,'sheet2'!$B$1:$B$400,0),12),""0"")
képlet eredményére hivatkozni? Sheet2 neve változik, azért nem jó, ha csak azt írnám be a makróba.
Run-time 1004
ap-def, or obj-def a hibaüzenet.[ Szerkesztve ]
-
p5quser
tag
Sziasztok!
Ismét a segítségeteket kérném. Adott egy munkafüzet, a hónap napjaira bontott munkalapokkal. Ebben a munkafüzetben kellene rákeresnem az "elszámolás" szóra minden munkalapon, kilistáztatva a napot, az elszámolás szót, egy oszloppal a találat előtti értéket és egy oszloppal a találat utáni értéket.
Alább a script amit találtam, teszi a dolgát, csak nem tudom hogy irassam ki vele az eltolt oszlopok értékeit.Private Sub CommandButton1_Click()
Dim xFso As Object
Dim xFld As Object
Dim xStrSearch As String
Dim xStrPath As String
Dim xStrFile As String
Dim xOut As Worksheet
Dim xWb As Workbook
Dim xWk As Worksheet
Dim xRow As Long
Dim xFound As Range
Dim xStrAddress As String
Dim xFileDialog As FileDialog
Dim xUpdate As Boolean
Dim xCount As Long
On Error GoTo ErrHandler
Set xFileDialog = Application.FileDialog(msoFileDialogFolderPicker)
xFileDialog.AllowMultiSelect = False
xFileDialog.Title = "Select a forlder"
If xFileDialog.Show = -1 Then
xStrPath = xFileDialog.SelectedItems(1)
End If
If xStrPath = "" Then Exit Sub
xStrSearch = "elszámol"
xUpdate = Application.ScreenUpdating
Application.ScreenUpdating = False
Set xOut = Worksheets.Add
xRow = 1
With xOut
.Cells(xRow, 1) = "Workbook"
.Cells(xRow, 2) = "Worksheet"
.Cells(xRow, 3) = "Cella"
.Cells(xRow, 4) = "Találat"
.Cells(xRow, 5) = "Összeg"
.Cells(xRow, 6) = "Név"
Set xFso = CreateObject("Scripting.FileSystemObject")
Set xFld = xFso.GetFolder(xStrPath)
xStrFile = Dir(xStrPath & "\*.xls*")
Do While xStrFile <> ""
Set xWb = Workbooks.Open(Filename:=xStrPath & "\" & xStrFile, UpdateLinks:=0, ReadOnly:=True, AddToMRU:=False)
For Each xWk In xWb.Worksheets
Set xFound = xWk.UsedRange.Find(xStrSearch)
If Not xFound Is Nothing Then
xStrAddress = xFound.Address
End If
Do
If xFound Is Nothing Then
Exit Do
Else
xCount = xCount + 1
xRow = xRow + 1
.Cells(xRow, 1) = xWb.Name
.Cells(xRow, 2) = xWk.Name
.Cells(xRow, 3) = xFound.Address
.Cells(xRow, 4) = xFound.Value
.Cells(xRow, 5) = xFound.Value
.Cells(xRow, 6) = xFound.Value
End If
Set xFound = xWk.Cells.FindNext(After:=xFound)
Loop While xStrAddress <> xFound.Address
Next
xWb.Close (False)
xStrFile = Dir
Loop
.Columns("A:D").EntireColumn.AutoFit
End With
MsgBox xCount & " egyezést találtam", , "Elszámolós"
ExitHandler:
Set xOut = Nothing
Set xWk = Nothing
Set xWb = Nothing
Set xFld = Nothing
Set xFso = Nothing
Application.ScreenUpdating = xUpdate
Exit Sub
ErrHandler:
MsgBox Err.Description, vbExclamation
Resume ExitHandler
End SubEzeket szeretném megváltoztatni;
.Cells(xRow, 5) = xFound.Value (találat_oszlop -1, találat_sor)
.Cells(xRow, 6) = xFound.Value (találat_oszlop +1, találat_sor)
Előre is köszönöm! -
p5quser
tag
válasz Delila_1 #37636 üzenetére
Üdv!
Azt értem, hogy helyrehozni hogyan kell, csak azt nem értem, ha az eredeti érték mínusz előjelű, miért az abszolut értéket adja vissza. Konkrétan a nyitó kérdésben elhelyezett szkriptet is sikerült működésre bírni, az;xNev = xFound.Offset(0, -1).Value
xOssz = xFound.Offset(0, 1).Value
offsetes megoldással. Most már berakja a nevet is, összeget is, csak az összegnél nem veszi figyelembe az előjelet.
Mivel a tiéd jól működik, ezért a puszta érdeklődés vezérel. -
p5quser
tag
válasz Fferi50 #37652 üzenetére
Üdv!
Nem teljesen világos, hová kéne beszúrnom a copy parancsot. Ahová raktam, ott range copy metódus hibával elszállt.
Most így néz ki a script jelenleg, de így "előjeltelen"Private Sub CommandButton1_Click()
Dim xFso As Object
Dim xFld As Object
Dim xStrSearch As String
Dim xStrPath As String
Dim xStrFile As String
Dim xOut As Worksheet
Dim xWb As Workbook
Dim xWk As Worksheet
Dim xRow As Long
Dim xFound As Range
Dim xStrAddress As String
Dim xFileDialog As FileDialog
Dim xUpdate As Boolean
Dim xCount As Long
On Error GoTo ErrHandler
Set xFileDialog = Application.FileDialog(msoFileDialogFolderPicker)
xFileDialog.AllowMultiSelect = False
xFileDialog.Title = "Select a forlder"
If xFileDialog.Show = -1 Then
xStrPath = xFileDialog.SelectedItems(1)
End If
If xStrPath = "" Then Exit Sub
xStrSearch = "elszámol"
xUpdate = Application.ScreenUpdating
Application.ScreenUpdating = False
Set xOut = Worksheets.Add
xRow = 1
With xOut
.Cells(xRow, 1) = "Munkafüzet"
.Cells(xRow, 2) = "Munkalap"
.Cells(xRow, 3) = "Cella"
.Cells(xRow, 4) = "Találat"
.Cells(xRow, 5) = "Név"
.Cells(xRow, 6) = "Összeg"
Set xFso = CreateObject("Scripting.FileSystemObject")
Set xFld = xFso.GetFolder(xStrPath)
xStrFile = Dir(xStrPath & "\*.xls*")
Do While xStrFile <> ""
Set xWb = Workbooks.Open(Filename:=xStrPath & "\" & xStrFile, UpdateLinks:=0, ReadOnly:=True, AddToMRU:=False)
For Each xWk In xWb.Worksheets
Set xFound = xWk.UsedRange.Find(xStrSearch)
Set xFn = xWk.UsedRange.Find(xStrSearch)
If Not xFound Is Nothing Then
xStrAddress = xFound.Address
xNev = xFound.Offset(0, -1).Value
xOssz = xFound.Offset(0, 1).Value
End If
Do
If xFound Is Nothing Then
Exit Do
Else
xCount = xCount + 1
xRow = xRow + 1
.Cells(xRow, 1) = xWb.Name
.Cells(xRow, 2) = xWk.Name
.Cells(xRow, 3) = xFound.Address
.Cells(xRow, 4) = xFound.Value
.Cells(xRow, 5) = xNev
.Cells(xRow, 6) = xOssz
End If
Set xFound = xWk.Cells.FindNext(After:=xFound)
Loop While xStrAddress <> xFound.Address
Next
xWb.Close (False)
xStrFile = Dir
Loop
.Columns("A:F").EntireColumn.AutoFit
End With
MsgBox xCount & " egyezést találtam", , "Elszámolósdi"
ExitHandler:
Set xOut = Nothing
Set xWk = Nothing
Set xWb = Nothing
Set xFld = Nothing
Set xFso = Nothing
Application.ScreenUpdating = xUpdate
Exit Sub
ErrHandler:
MsgBox Err.Description, vbExclamation
Resume ExitHandler
End SubKöszönöm!
-
p5quser
tag
válasz Fferi50 #37664 üzenetére
Sub SearchFolders()
'UpdatebyKutoolsforExcel20151202
Dim xFso As Object
Dim xFld As Object
Dim xStrSearch As String
Dim xStrPath As String
Dim xStrFile As String
Dim xOut As Worksheet
Dim xWb As Workbook
Dim xWk As Worksheet
Dim xRow As Long
Dim xFound As Range
Dim xStrAddress As String
Dim xFileDialog As FileDialog
Dim xUpdate As Boolean
Dim xCount As Long
On Error GoTo ErrHandler
Set xFileDialog = Application.FileDialog(msoFileDialogFolderPicker)
xFileDialog.AllowMultiSelect = False
xFileDialog.Title = "Select a forlder"
If xFileDialog.Show = -1 Then
xStrPath = xFileDialog.SelectedItems(1)
End If
If xStrPath = "" Then Exit Sub
xStrSearch = "KTE"
xUpdate = Application.ScreenUpdating
Application.ScreenUpdating = False
Set xOut = Worksheets.Add
xRow = 1
With xOut
.Cells(xRow, 1) = "Workbook"
.Cells(xRow, 2) = "Worksheet"
.Cells(xRow, 3) = "Cell"
.Cells(xRow, 4) = "Text in Cell"
Set xFso = CreateObject("Scripting.FileSystemObject")
Set xFld = xFso.GetFolder(xStrPath)
xStrFile = Dir(xStrPath & "\*.xls*")
Do While xStrFile <> ""
Set xWb = Workbooks.Open(Filename:=xStrPath & "\" & xStrFile, UpdateLinks:=0, ReadOnly:=True, AddToMRU:=False)
For Each xWk In xWb.Worksheets
Set xFound = xWk.UsedRange.Find(xStrSearch)
If Not xFound Is Nothing Then
xStrAddress = xFound.Address
End If
Do
If xFound Is Nothing Then
Exit Do
Else
xCount = xCount + 1
xRow = xRow + 1
.Cells(xRow, 1) = xWb.Name
.Cells(xRow, 2) = xWk.Name
.Cells(xRow, 3) = xFound.Address
.Cells(xRow, 4) = xFound.Value
End If
Set xFound = xWk.Cells.FindNext(After:=xFound)
Loop While xStrAddress <> xFound.Address
Next
xWb.Close (False)
xStrFile = Dir
Loop
.Columns("A:D").EntireColumn.AutoFit
End With
MsgBox xCount & "cells have been found", , "Kutools for Excel"
ExitHandler:
Set xOut = Nothing
Set xWk = Nothing
Set xWb = Nothing
Set xFld = Nothing
Set xFso = Nothing
Application.ScreenUpdating = xUpdate
Exit Sub
ErrHandler:
MsgBox Err.Description, vbExclamation
Resume ExitHandler
End SubEbből a szösszenetből lett plasztikázva.
Köszönöm a segítséget! -
p5quser
tag
Sziasztok!
A mellékelt kép alapján lett felhordva egy bálányi adat. Hogy lehet úgy egyenlőségjelet tenni, vagy úgy formázni a cellákat, hogy el is végezze a megadott műveleteket? Sok mindent kipróbáltam, de ennyi idő alatt végeztem volna a negyedével.
Előre is köszönöm![ Szerkesztve ]
-
p5quser
tag
Igazából most már kezdek beletörődni, úgyhogy az is érdekelne, hogy hogyan lehetne legközelebb elkerülni az ilyen malőröket. Lehet valahogy prefixálni az egyenlőségjelet, vagy minden egyes adatbevitelnél shift+7-et kell nyomni?
Köszönöm! -
p5quser
tag
-
p5quser
tag
Sziasztok!
Hogyan tudom automatizálni azt hogy egy 30 lapos munkafüzet egy lapján egy cella az előző munkalap egy cellájára hivatkozzon? Mindig egy lappal előrébb kellene hivatkoznia, mindig ugyanarra a cellára, 30 lapon át. Záróérték-nyitóérték. Valahogy biztos vagyok benne, hogy nem kell végigkattintgatni egyesével a cellákat. De nem sikerül megfejtenem a rákereséshez szükséges kulcsszavakat
Előre is köszönöm![ Szerkesztve ]
-
p5quser
tag
válasz ny.janos #38139 üzenetére
A magyarázó képességem is az excel-tudásommal egy polcon van
Üdv!
Köszönöm a segítséget, de én úgy értettem, hogy pl.: a füzet3 A5 cellájára hivatkozzon a füzet4 B2 cellája. És ezt így folytassa 30 lapon át. Köszönöm az ábrát, érthetőbb lett volna ha ezzel kezdem.
Üdv! -
p5quser
tag
Sziasztok!
Ismételten a segítségetek kérném!
Próbáltam egy timeline diagramot összeszögelni, de sajnos elakadtam a "mai" nap jelölésével. Az alábbi képen lévő halmozott sávos diagram tűnt a legegyszerűbbnek a tutoriálok közül, de nem tudom (lehet) kijelölni rajta egy függőlegesen végigfutó tengelyt, ami a=ma()
függvényt hívná be és jelölné meg minden indításkor.
Ha erre a diagramra nem lehet ilyesmit ráilleszteni, akkor használok bonyolultabbat a neten keringő minták közül, csak "Jolánka-egyszerűre" szeretném a projektet.
Előre is köszönöm! -
p5quser
tag
Üdv!
Köszönöm a választ. Valami ilyesmit hámoztam ki a netes howto-kból is, csakhogy nekem csak egy tengelyt ad be, amikor új adatot akarok kiválasztani. Ha meg kombinált diagramra váltok, ahogy kiválasztom a halmozott sávot, kiszürkül a másodlagos tengely.
Off 2016 hun.
Mégegyszer köszönöm! -
p5quser
tag
Fel sem dobja az adatsorok formázását. Összeraktam egy képet az ablakokról, ill. feltöltöttem a file-t is, hátha éppen ráérsz.
...[ Szerkesztve ]
-
p5quser
tag
válasz Fferi50 #38729 üzenetére
Üdv!
Köszönöm rágódásod a témán, ez egyszerűbbnek tűnik a youtuber megoldásánál, amit Mutt linkelt.
Az a baj ezekkel az exceles mókákkal, hogy nagyon könnyúek. Egyszerűen kipottyannak a fejemből...
Ha elakadok, visszatérek.
Mégegyszer köszönöm mindkettőtöknek a segítséget! -
p5quser
tag
Sziasztok!
Azt hogy lehet megoldani egy vba inputboxnál, hogy a bevitt számérték tizedesjelét vesszővel lehessen beütni?
Ha a.Numberformat = "0.00"
-ot használom, akkor csak ponttal választva jelenik meg számként. Ha generalt használok, akkor egy későbbi fázisban a szumha nem adja össze. Jó lenne vba-ban megoldani, nem pedig a munkafüzetben kattintgatni, vagy újabb oszlopban "értékesíteni".
Egy csak numerikus billentyűzetről visznek fel adatokat, ezért a kétségbeesés.
Ha lehet, nem távoli asztaloznék a beviteli nyelv átállításával sem.
Előre is köszönöm! -
p5quser
tag
válasz Delila_1 #40268 üzenetére
Pedig úgy megpróbáltam beilleszteni...
Szóval ez egy tableten futkározó "leltár" excel. Amennyire lehetett, automatizáltam a bevitelt. Így néz ki a teljes kód;Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim Ide As Long
If Target.Value = "" Then Exit Sub
If Sheets.Count = 1 Then
MsgBox "KEZDJ ÚJ ÍVET"
ElseIf Sheets(Sheets.Count).ProtectContents = True Then
MsgBox "OLDD FEL A LEZÁRT ÍV LAPVÉDELMÉT, HA HOZZÁ AKARSZ ÍRNI, VAGY KEZDJ ÚJ ÍVET"
Else
If Not Intersect(Target, Range("A:B")) Is Nothing Then
Ide = Sheets(Sheets.Count).Range("A" & Rows.Count).End(xlUp).Row + 1
Target.EntireRow.Copy
Sheets(Sheets.Count).Range("A" & Ide).PasteSpecial xlPasteValues
Sheets(Sheets.Count).Select
ActiveCell.Offset(0, 2).Select
Selection.Value = InputBox("DARABSZÁM")
Selection.NumberFormat = "0.00"
ActiveSheet.Range("B:B,C:C").EntireColumn.AutoFit
Sheets(1).Select
With TextBox1
.Activate
.SelStart = 0
.SelLength = Len(.Text)
End With
End If
End If
Cancel = True
End SubNézd el kérlek fércmunka jellegét. Ebben kéne elérnem, hogy a tizedes jel bevitelt vesszővel lehessen megoldani. Nem tudom hogy illesszem be az általad leírtakat.
Köszönöm! -
p5quser
tag
Sziasztok!
Eskü, rágugliztam a problémámra, de még jobban összekeveredtem.
Azt szeretném megoldani excel vba-ban, hogy meghatározzak 4-5 munkalapot a munkafüzetben - egyenkénti pár betűs szóval - hogy ezzel a szóval hivatkozhassak rájuk a munkafüzet összes moduljában, userformjában, mindenhol.
Szóval valami "global variable" -szerűt szeretnék, amit egyszer meghatározok és utána már elég csak a meghatározott néven hivatkozni rájuk. Olvastam "public property"-kről, "option explicit"-ekről, de nem tiszta hogy hová rakjam. A thisworkbookhoz, vagy modulként kell behívni?
Négy userform van a munkafüzetben, várható még benne modul is, szóval van katyvasz bőven és ha véletlenül egyéb excel file is megvan nyitva (ami azért nem életidegen dolog ) , akkor jönnek a furcsaságok.
Ha megoldható, jó lenne nem userformonként, modulonként meghatározni, hanem egyszer az adott munkafüzetben.
Ha nem ebbe a topikba való, hanem a visual basic-be, akkor szkúzi, átpakolom oda kérdésem.
Előre is köszönöm! -
p5quser
tag
válasz Pakliman #40482 üzenetére
Igen, az összes eddigi próbálkozásaimnál ez a hiba jött...
Az alábbi képen próbáltam egybeszedni amit javasoltál és a userform egy részletét, ahogy alkalmaznám.
Idáig egyébként mindenhol Sheets(1), Sheets(2), stb néven hivatkoztam a munkalapokra, pont a rövidítések végett.
Baffuf...
Pill...[ Szerkesztve ]
-
p5quser
tag
Sajnos nem. Az előbb "eldeklaráltam" az egyik sheet nevét, azt hittem azért nyüszög, de javítás után (wsp-wsh) is ugyanaz a hiba mint a fenti képen.
[ Szerkesztve ]
Új hozzászólás Aktív témák
- Poco F3 - a mindenes, de nem mindenkinek
- AMD K6-III, és minden ami RETRO - Oldschool tuning
- Politika
- iPhone topik
- Automata kávégépek
- Debrecen és környéke adok-veszek-beszélgetek
- Autós topik
- Bittorrent topik
- Google Pixel 8 Pro - mestersége(s) az intelligencia
- Milyen videókártyát?
- További aktív témák...
- Játékkulcsok olcsón: Steam, Uplay, GoG, Origin, Xbox, PS stb.
- AKCIÓ! - STEAM kulcsok /Anuchard, Aragami, Children of Morta, stb. - 2024.04.17.
- Eladó Steam kulcsok kedvező áron!
- Eredeti Windows, telepítéssel! Digital Doctor Számítógép Szerviz
- Bontatlan - BATTLEFIELD 1 Collectors Edition - Játékszoftver nélkül