Kezdőlap › Fórumok › Excel programozás › Application.Inputbox – beolvasás másik munkafüzetről
- This topic has 1 hozzászólás, 2 résztvevő, and was last updated 10 years telt el by horvimi.
-
SzerzőBejegyzés
-
2014-12-08-20:26 #1660
Szia Imi,
a segítséged szeretném kérni:
Hogy lehet az Application.Inputbox esetén másik munkafüzetből beolvasni a Range típusú változót?Amit szeretnék: makróban egy képletet használok, és nem szeretném abbahagyni a makrófutást, hanem a függvény argumentumait Inputboxszal adatnám meg.
Itt tartok:
Dim ertek_d As Range
Set ertek_d = Application.InputBox(prompt:=”Honnan írjam be az értéket?”, Type:=8)De az érték egy másik munkafüzetben van, és nem hagy átlépni. Kivéve, ha „bedrótozom” a nevét, és .Active-val előtte átlépek bele. De nem mindig ugyanúgy hívják a munkafüzetet, ezért nem drótoznám be.
Köszönöm a segítséget!
Csilla2014-12-09-13:44 #1661Szia Csilla!
Még nem csináltam ilyet, de utánanéztem.
Csak arra találtam megoldást, hogy másik munkalapról hogy lehet választani, illetve kijelölni. Úgy tűnik, hogy másik munkafüzetből nem enged választani, állandóan visszadob az aktuális munkafüzetbe.Egy kicsit módosítottam, hogy ne legyen benne goto, és ha semmit nem választunk, akkorne történjen semmi.
Sub proba() Dim ThisArea As Range On Error Resume Next Set ThisArea = Application.InputBox(prompt:="Select a range...", _ Title:="Select a range in a different worksheet", Type:=8) If Not ThisArea Is Nothing Then 'ide jon, amit akkor kell csinalni, ha valasztott valamit ThisArea.Parent.Parent.Activate ThisArea.Parent.Activate ThisArea.Select End If On Error GoTo 0 End Sub
Ahol találtam:
http://www.vbaexpress.com/forum/showthread.php?21137-Solved-Inputbox-method-to-pick-a-range-in-another-workbookMit csinál:
– A ThisArea az Inputbox-al kijelölt terület
– ThisArea.parent a kijelölt terület munkalapjának (szülője) neve
– ThisArea.Parent.Parent A munkafüzet, ahonnan választottad.Tehát belép a kijelölt tartomány munkafüzetébe és munkalapjába, és kijelöli a kiválasztott tartományt.
Másik munkafüzet
Ehhez egy speciális UserForm-ot kell készíteni, ahol először munkafüzetet választasz, és utána külön tartományt a refEdit vezérlővel. A megoldást itt találod:
http://stackoverflow.com/questions/18125650/vba-dialog-box-to-select-range-in-different-workbookFigyelem!
A párbeszéd kirakása előtt meg kell jegyezni, hogy melyik munkafüzet az aktív, mert ez azzal trükközik, hogy aktívvá teszi a megadott munkafüzetet, majd ott enged választani. A választás után, a Form bezárását kövbetően vissza kell menni az eredetileg aktív munkafüzetbe.Sok sikert,
Imre
-
SzerzőBejegyzés
- Be kell jelentkezni a hozzászóláshoz.