اکسل



این خطا در زمان افزودن ردیف یا ستون یا زمان تغییر عرض و ارتفاع سلولها اتفاق می افتد

در محلی که این تغییرات رخ می دهد ردیف یا ستون مخفی شده دارید کافیست انها را از حالت مخفی خارج کرده تغییرات مورد نیاز را اعمال نموده و مجددا ردیف ها یا ستونهای مدنظر مخفی شود


زمانیکه لیست باکس بیش از یک ستون داشته باشد اکسل عرض ستون های لیست باکس را به طور مساوی در نظر می گیرد که ممکن است نیاز ما را براورده نکند(فرض کنید یک ستون نام و یک ستون ادرس است که باید ستون ادرس بزرگتر از ستون نام باشد و.)
برای رفع ان و تنظیم دستی عرض ها از کد در فراخوانی فرم استفاده می شود به شرح زیر
جمع اعداد به اندازه کل عرض لیست باکس محاسبه شود
در این مثال تعداد ستون ها 3 و کل عرض لیست باکس 200می باشد

listbox1.ColumnWidths = "50,50,100"

نقل شده از
https://stackoverflow.com/questions/5088787/excel-vba-listbox


چناچه یک فایل اکسل در شبکه مورد استفاده قرار گیرد صرفا برای نفر اول قابل خواندن و نوشتن می باشد و برای نفرات بعدی فقط خواندنی گاهی اوقات به علت عدم اطلاع کاربران از این موضوع فایل ها در حالت فقط خواندنی باز شده و تغییرات داده می شود و ذخیره نمی شوند که محل اشکال است لذا راه حل ساده ان بستن قابلیت باز شدن فایل در حالت فقط خواندنی می باشد


Private Sub Workbook_open
  If ThisWorkbook.ReadOnly Then
    ThisWorkbook.close
  End If
End Sub

نقل شده از:

برای انتخاب یک sheet در اکسل توسط کد نویسی روش های مختلفی وجود دارد

1- انتخاب با نام وضع شده توسط کاربر

activesheet.name

sheets("name").select

2- انتخاب با نام وضع شده در محیط برنامه نویسی

activesheet.codename

For Each Worksheet In Worksheets
 If Worksheet.CodeName = codename Then
  Worksheet.Select
  Exit For
  End If
Next

3- انتخاب با شماره sheet  از ابتدا یا ایندکس(برگه ها از ابتدا شمارش می شوند و به هر یک شماره ای اختصاص می یابد)

activesheet.index

sheets(i).select


بحث فیلتر پیشرفته روی متون چه در کد نویسی چه در محدوده اکسل مورد نظر بنده نمی باشد که در سایت های فراوانی درباره آن صحبت شده است مشکلی که وجود دارد استفاده از این ابزار جهت کار روی اعداد می باشد

در این حالت این فیلتر هیچ کاربردی ندارد و قابل استفاده روی اعداد نمی باشد

تنها راه تبدیل اعداد به متن و سپس انجام فیلتر می باشد

در کد نویسی جهت تبدیل عدد به متن از تابع str استفاده نمائید

در پایان یاداوری می شود که شرط فیلتر هم حتما به متن تبدیل شود


در صورتی که نمودار در صفحات با اطلاعات زیاد داشته باشیم زمانی که کاربر در صفحه اسکرول به بالا یا پایین نماید نمودارها از محدوده نمایش خارج می شوند در صورتی که نیاز باشد نمودارها هم با اسکرول به مکان جدید منتقل شوند از کدهای زیر استفاده نمائید

 

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
'UpdatebyExtendoffice20161111
    Dim CPos As Double
    Application.ScreenUpdating = False
    CPos = ActiveWindow.ScrollRow * ActiveCell.RowHeight
    ActiveSheet.ChartObjects("Chart 2").Activate
    ActiveSheet.Shapes("Chart 2").Top = CPos
    ActiveWindow.Visible = False
    Application.ScreenUpdating = True
End Sub

 

نقل شده از

https://www.extendoffice.com/documents/excel/4201-excel-keep-chart-in-view.html


در فرم اکسل اگر دو گروه از دکمه های رادیویی به صورت مستقل داشته باشیم امکان انتخاب جداگانه بین آنها وجود ندارد برای رفع این مشکل کافیست هر کدام را در یک فریم قرار دهید تا اکسل بین آنها تمایز قائل شده و امکان انتخاب جداگانه ایجاد شود


نقل شده از

http://office.microsoft.com/en-us/excel-help/add-a-group-box-or-frame-control-to-a-worksheet-HP010236679.aspx.


جهت پخش فایل صوتی در اکسل بایستی از API های ویندوز استفاده نمود که برای فراخوانی آنها از declare statement استفاده می شود لذا جهت شروع بایستی API مربوطه را فراخوانی نمائیم

Public Declare Function Sound32 _
    Lib "winmm.dll" _
    Alias "sndPlaySoundA" ( _
        ByVal lpszSoundName As String, _
        ByVal uFlags As Long) As Long

سپس در هر بخش از کد که نیاز به پخش یک فایل صوتی است تابع فوق را فراخوانی می کنیم مشابه زیر

Call sound32(WAVFile, snd_sync)

wavfile مسیر قرارگیری فایل است و گزینه بعدی نحوه پخش را مشخص می کند که پیش فرض snd_sync می باشد

Const SND_SYNC = &H0        ' (Default) Play the sound synchronously. Code execution
                            ' pauses until sound is complete.

Const SND_ASYNC = &H1       ' Play the sound asynchronously. Code execution
                            ' does not wait for sound to complete.

Const SND_NODEFAULT = &H2   ' If the specified sound is not found, do not play
                            ' the default sound (no sound is played).

Const SND_MEMORY = &H4      ' lpszSoundName is a memory file of the sound.
                            ' Not used in VBA/VB6.

Const SND_LOOP = &H8        ' Continue playing sound in a loop until the next
                            ' call to sndPlaySound.

Const SND_NOSTOP = &H10     ' Do not stop playing the current sound before playing
                            ' the specified sound.

نقل شده از

http://www.cpearson.com/excel/PlaySound.aspx

https://excel.tips.net/T006559_Conditionally_Playing_an_Audio_File.html


اگر در کد نویسی نیاز دارید یک فرمول را به تعداد زیادی سلول اختصاص دهید یا کپی کنید از کد زیر استفاده نمائید

Range("A2:A" & Range("B1").Value).Formula = Range("A1").Formula

در مثال فوق range(b1) انتهای محل کپی شدن می باشد

البته راههای دیگری نیز وجود دارد که این راه ساده تر می باشد


تبلیغات

محل تبلیغات شما
محل تبلیغات شما محل تبلیغات شما

آخرین وبلاگ ها

آخرین جستجو ها

Greg بیرون دروازه خونه خنگول ها :) ریاضی-علوم کامپیوتر- المپیاد دوفرشته آسمانی بافندگان فرش ماشینی انجام پروژه های آماری و لاتکس ❤"تولد الهه بانو"❤ . Adam وبلاگ شخصی امیری - کافه و کافی شاپ