در پوشه پيوست دو فايل دارم که بوسيله فايل a فايل b را باز مي کنم، بعد مي خواهم به شيت 3 فايل b مراجعه و اطلاعاتي را از آنجا بردارم، ولي چون در فايل b هنگام باز شدن دو تا فرم run مي شود اين کار امکان پذير نيست، آيا ممکن است با کد نويسي آن دو تا فرم را ببندم؟
بستن command button در فايلي ديگر
Collapse
این تاپیک قفل است.
X
X
-
سلام،
در پوشه پيوست دو فايل دارم که بوسيله فايل a فايل b را باز مي کنم، بعد مي خواهم به شيت 3 فايل b مراجعه و اطلاعاتي را از آنجا بردارم، ولي چون در فايل b هنگام باز شدن دو تا فرم run مي شود اين کار امکان پذير نيست، آيا ممکن است با کد نويسي آن دو تا فرم را ببندم؟[SIGPIC][/SIGPIC] -
با درود
جناب پارسای عزیز بنده درست متوجه منظورتان نشدم، آیا میخواین از طریق کدنویسی به اطلاعات شیت 3 فایل b دسترسی داشته باشین یا بصورت دستی (همزمان با باز بودن یوزر فرم ها به شیت 3 فایل b در محیط اکسل دسترسی داشته باشین)؟ و اینکه آیا یوزرفرم های باز شده رو میخواید با کدنویسی در فایل a ببندید یا کدنویسی در فایل b؟
اگر یه کم بیشتر توضیح بدید ممنون میشم.
با درود و تشکر خدمت جناب majid_mx4، ببخشید تقریبا پست بنده و شما همزمان شد.کامنت
-
مي خواهم در فايل a کدي بنويسم که به صورت اتوماتيک فايل b را باز کند و اطلاعات شيت سه آن را به فايل a انتقال دهد و بعد فايل b را ببندد، وقتي در فايل b موقع باز شدن فرمي باز نشود مشکلي نخواهم داشت و عمليات انتقال درست انجام مي گردد، ولي باز شدن فرمها در فايل b جلو ادامه کدهايم در فايل a را مي گيرد، لذا مي خواهم در فايل a به کدهايم يک دستور اضافه کنم که وقتي فايل b باز شد دو تا فرم آن که run مي شود را ببندد. باز اگر توضيح بيشتري لازم است بفرماييد.[SIGPIC][/SIGPIC]کامنت
-
با سلام
کد زیر را کپی و تست کنید
هر چند بدون باز کردن فایل هم میتوانستید از آن کپی بگیرید و نیازی به باز کردن آن نبود.کد:Private Sub CommandButton1_Click() 'Dim C As String 'C = Application.InputBox("äÇã ÝÇíá ÑÇ æÇÑÏ ˜äíÏ", "ÏÑíÇÝÊ ÇØáÇÚÇÊ", "b") 'Workbooks.Open Filename:=ThisWorkbook.Path & "/" & C & ".XLSM" ' ' ' ' RunThisMacro End Sub Sub RunThisMacro() Dim C As String C = Application.InputBox("äÇã ÝÇíá ÑÇ æÇÑÏ ˜äíÏ", "ÏÑíÇÝÊ ÇØáÇÚÇÊ", "b") 'We're doing the same thing, just to 2 different workbooks Call OpenCopyPaste(Workbooks.Open(Filename:=ThisWorkbook.Path & "\" & C & ".XLSM")) ' End Sub Sub OpenCopyPaste(sourceWB As Workbook) Dim destWB As Workbook Dim destWS As Worksheet Dim copyRange As Range 'Define where our objects are, just to avoid confusion Set destWB = Workbooks("a.xlsm") Set destWS = destWB.Worksheets("Sheet1") 'Only copy the used section, not entire columns With sourceWB.Worksheets("Sheet3") Set copyRange = Intersect(.Range("A:G"), .UsedRange) End With ' copy the source range to first blank line With destWS copyRange.Copy .Cells(.Rows.Count, "A").End(xlUp).Offset(1) End With 'Close files Application.CutCopyMode = False sourceWB.Close False destWB.Save End Sub
با تشکر میرکامنت



کامنت