نمایش نتایج: از شماره 1 تا 10 , از مجموع 10

موضوع: چگونه مي توان header ليست باکس را مقدار دهي کرد؟

  1. #1


    آخرین بازدید
    2024/01/21
    تاریخ عضویت
    November 2013
    محل سکونت
    تهران
    نوشته ها
    1,519
    امتیاز
    6121
    سپاس
    2,884
    سپاس شده
    4,889 در 1,381 پست
    سطح اکسل
    71.67 %

    چگونه مي توان header ليست باکس را مقدار دهي کرد؟

    سلام،
    من با فعال سازي خصوصيت columheads در يک ليست باکس هدر آن را فعال کرده ام ولي بلد نيستم اين هدر را مقدار دهي کنم! کسي مي تونه راهنماييم کنه؟
    اخطار: این یک موضوع قدیمی است
    به دلیل قدیمی بودن موضوع، ممکن است برخی فایل های ضمیمه به درستی کار نکنند. لطفا در صورت عدم ضرورت، از بالا آوردن موضوعات قدیمی خودداری نمایید.

  2.  

  3. #2


    آخرین بازدید
    2023/08/17
    تاریخ عضویت
    March 2015
    محل سکونت
    آمل
    نوشته ها
    3,343
    امتیاز
    11575
    سپاس
    1,885
    سپاس شده
    8,165 در 3,011 پست
    تعیین سطح نشده است

    با سلام

    دیتای مورد نظر معمولا از سلول اول هر ستون آدرس داده شده مقداردهی میگردد


    برای دیدن سایز بزرگ روی عکس کلیک کنید

نام:  UserForm_10.GIF
مشاهده: 81
حجم:  27.2 کیلو بایت

    کد PHP:
    Private Sub UserForm_Initialize()
    'set ListBox properties on initialization of UserForm'

    With ListBox1
    .ColumnHeads True
    .ColumnCount 3
    'set the ColumnWidths property of second & third columns to zero to not display them in the ListBox'
    .ColumnWidths "40;0:0"
    .RowSource "=Sheet2!A2:C6"
    .MultiSelect fmMultiSelectSingle
    'specifies the column of data in a ListBox that supplies data for its Text property'
    .TextColumn 1
    .BoundColumn 3
    End With

    End Sub 

    ویرایش توسط iranweld : 2015/12/17 در ساعت 11:50


  4. #3


    آخرین بازدید
    2024/01/21
    تاریخ عضویت
    November 2013
    محل سکونت
    تهران
    نوشته ها
    1,519
    امتیاز
    6121
    سپاس
    2,884
    سپاس شده
    4,889 در 1,381 پست
    سطح اکسل
    71.67 %

    متشکرم،
    بدون استفاده از rowsource چطور مي شود؟ کسي مي تواند بدون rowsource راهنمايي کند؟
    چون من اطلاعاتم را از سه ديتاي مختلف در سه شيت متفاوت در ليست بکس بارگيري مي کنم.

  5. #4


    آخرین بازدید
    2023/08/17
    تاریخ عضویت
    March 2015
    محل سکونت
    آمل
    نوشته ها
    3,343
    امتیاز
    11575
    سپاس
    1,885
    سپاس شده
    8,165 در 3,011 پست
    تعیین سطح نشده است

    یک روش دیگر بدون استفاده از ColumnHeads استفاده از از LABEL در برای هر آیتم در بالای لیست باکس میباشد

    برای دیدن سایز بزرگ روی عکس کلیک کنید

نام:  Untitled.png
مشاهده: 71
حجم:  59.5 کیلو بایت


  6. #5


    آخرین بازدید
    2018/05/03
    تاریخ عضویت
    October 2014
    محل سکونت
    جنوب
    نوشته ها
    351
    امتیاز
    3436
    سپاس
    2,033
    سپاس شده
    1,229 در 331 پست
    تعیین سطح نشده است

    نقل قول نوشته اصلی توسط علي پارسا نمایش پست ها
    متشکرم،
    بدون استفاده از rowsource چطور مي شود؟ کسي مي تواند بدون rowsource راهنمايي کند؟
    چون من اطلاعاتم را از سه ديتاي مختلف در سه شيت متفاوت در ليست بکس بارگيري مي کنم.
    با درود
    جناب پارسای عزیز، باید عرض کنم که متاسفانه لیست باکس در vba قوی و با قابلیتهای زیاد عمل نمیکند! نمایش header در لیست باکس تقریبا نمایشی هست و کارایی خاصی به جز نمایش عنوان ستون ها ندارند و فقط در صورت استفاده از RowSource امکان پذیر هست و وارد کردن اطلاعات درون لیست باکس به سایر روش ها سبب عدم نمایش Header ها میشوند (در واقع Header نمایش داده میشود اما بدون متن). طبق فرمایش شما که اطلاعات از سه شیت متفاوت دریافت و در لیست باکس بارگذاری میکنید به نظر بنده مناسبترین روشی که وجود داره یا طبق فرمایش جناب iranweld استفاده از Label میباشد و یا اینکه شما در یک شیت مجزا یک محدوده کاملا پویا تعریف کنید و ابتدا دیتاها رو به این شیت منتقل کنید و سپس محدوده پویا رو از طریق RowSource درون لیست باکس بارگذاری کنید در این حالت اولین سطر قبل از محدوده پویا به عنوان Header در لیست باکستون نمایش داده میشه. بنده خودم زیاد از این روش استفاده میکنم.

    امیدوارم خوب توضیح داده باشم و متوجه منظورم شده باشین.
    موفق باشین.


  7. #6


    آخرین بازدید
    2022/06/26
    تاریخ عضویت
    January 2013
    محل سکونت
    شیراز
    نوشته ها
    1,198
    امتیاز
    3248
    سپاس
    1,566
    سپاس شده
    3,182 در 795 پست
    سطح اکسل
    84.00 %

    با درود
    خب یه چیزیم من بگم هر چند دیگه پیر شدم اما اگر همون سر ستون ها که هدرت باشه رو هم توی لیست باکست بیاری ( یعنی همیشه اول اونها بیان) اینجوری ردیف اولت میشه هدر . بعدش فرضا میخوای با لیست باکست یه کاریایی بکنی میتونی از ردیف دمش به بعد استفاده کنی. اینجوری تو پرینت هم سر ستون ها(هدر ها) رو هم داری.

    اگر لیست باکسم به کارت نمیاد از لیست ویو listview استفاده کن. یه مسال شاده لیست باکسم زدم. هر چند همتون یه پا استادین.
    فايل هاي پيوست شده فايل هاي پيوست شده
    در پناه خداوندگار ایران زمین باشید و پیروز


  8. #7


    آخرین بازدید
    یک هفته پیش
    تاریخ عضویت
    June 2012
    نوشته ها
    698
    امتیاز
    4179
    سپاس
    625
    سپاس شده
    1,970 در 623 پست
    تعیین سطح نشده است

    با سلام به تمامی دوستان

    ضمن اجازه از جناب آقای اسماعیلی عزیز و پوزش به خاطر جسارت و دستگاری در کد ایشان .(اصل کد متعلق به ایشان است )

    فکر میکنم پایه کار درست است ولی کد مقدار تغییرات نیاز دارد.

    اگر یک تکست باکس به فرم اضافه شود و مقدار درخواستی را به آن ارجاع دهیم خواهید دید که جوابها چندان درست نست ( یا بدون هدر است و یا یکی از مجموع کم است ) شاید هم در سیستم بدنه اینجور است . به هرحال کد زیر اصلاح شده کد دوست بزرگوارم جناب اسماعیلی است امید که مفید واقع شود .( باز هم معذرت خواهی از ایشان )
    توضیح : به فرم یک تکست باکس اضافه کرده تا بتوانیم نام های موردنظر را در آن تایپ نمایید

    کد:
    Private Sub CommandButton1_Click()
    ListBox1.Clear
    'define 4 column listbox
    ListBox1.ColumnCount = 4
    'change column widhts
    ListBox1.ColumnWidths = "50;50;50"
      With ListBox1
      .AddItem
      
       ListBox1.List(0, 0) = Sheet2.Range("A1").Value 'header
        ListBox1.List(0, 1) = Sheet2.Range("B1").Value 'header
        ListBox1.List(0, 2) = Sheet2.Range("C1").Value 'header
        ListBox1.List(0, 3) = Sheet2.Range("D1").Value 'header
    End With
    'assing values to the columns
    Dim c As Range
    Dim i As Integer
    i = 2
    For Each c In Sheet2.Range("A2:A20")
    If c.Value = TextBox1.Text Then
             ListBox1.AddItem
        ListBox1.List(i - 1, 0) = c 'data
        ListBox1.List(i - 1, 1) = c.Offset(0, 1) 'data
        ListBox1.List(i - 1, 2) = c.Offset(0, 2) 'data
        ListBox1.List(i - 1, 3) = c.Offset(0, 3) 'data
        i = i + 1
        End If
    Next c
    End Sub
    با تشکر میر
    ویرایش توسط majid_mx4 : 2015/12/20 در ساعت 13:26


  9. #8


    آخرین بازدید
    2024/01/21
    تاریخ عضویت
    November 2013
    محل سکونت
    تهران
    نوشته ها
    1,519
    امتیاز
    6121
    سپاس
    2,884
    سپاس شده
    4,889 در 1,381 پست
    سطح اکسل
    71.67 %

    متشکرم از همه دوستان،
    البته من هم اول سرستونهايم را از يکي از شيتهاي اطلاعات در ليست باکس add کردم و بعد بقيه اطلاعات را از شيتهاي مختلف بارگيري کردم (چون سر ستونها در کل شيتها يکي است)، منتهي مشکل اينجا بود که مي خواستم سر ستونها يک جوري دورش خط کشي (border) داشته باشه، بعد خصوصيت columnheads ليست باکس را فعال کردم، ولي چون با اين روش از row source استفاده نشده ديگر سر ستونها که اول بارگيري شده داخل کادر header ليست بکس قرار نمي گيرد! و هدر خالي مي ماند!
    ظاهرا" ساده ترين راه همان ليبل است.
    البته اگر بشود کل اطلاعاتي که بارگيري مي شود دورشان خط کشي ايجاد کرد (يعني مثل يک جدول بشود) آن هم خوب است. که نمي دانم اون هم امکان پذير هست يا نه؟!

  10. سپاس ها (2)


  11. #9


    آخرین بازدید
    2022/06/26
    تاریخ عضویت
    January 2013
    محل سکونت
    شیراز
    نوشته ها
    1,198
    امتیاز
    3248
    سپاس
    1,566
    سپاس شده
    3,182 در 795 پست
    سطح اکسل
    84.00 %

    با درود

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

    بازم عذر میخوام
    در پناه خداوندگار ایران زمین باشید و پیروز


  12. #10


    آخرین بازدید
    یک هفته پیش
    تاریخ عضویت
    June 2012
    نوشته ها
    698
    امتیاز
    4179
    سپاس
    625
    سپاس شده
    1,970 در 623 پست
    تعیین سطح نشده است

    با سلام

    جناب اسماعیلی عزیز

    این فرمایشات را نفرمایید از شما بابت اشعاع دانش خودتان که مطمئنن به سادگی بدست نیاورده و بی دریغ در اختیار اعضای انجمن گذاشته اید بی شک باید سپاسگذار بود.

    با سپاس فراوان میر
    ویرایش توسط majid_mx4 : 2015/12/20 در ساعت 14:25



اطلاعات موضوع

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

در حال حاضر 1 کاربر در حال مشاهده این موضوع است. (0 کاربران و 1 مهمان ها)

موضوعات مشابه

  1. لینک سل به Header
    توسط Amin_D در انجمن سوالات اكسل - Excel Questions
    پاسخ ها: 3
    آخرين نوشته: 2015/05/13, 01:07
  2. جستجوي ركوردهاي جديد از يك ليست متغير و ثبت آنها در يك ليست ثابت
    توسط arsalan135 در انجمن سوالات پیرامون ويژوال بيسيك - VBA Questions
    پاسخ ها: 10
    آخرين نوشته: 2014/09/21, 23:19
  3. جستجوي ركوردهاي جديد از يك ليست متغير و ثبت آنها در يك ليست ثابت
    توسط arsalan135 در انجمن سوالات پیرامون ويژوال بيسيك - VBA Questions
    پاسخ ها: 4
    آخرين نوشته: 2014/03/01, 14:58
  4. ليست تودرتو
    توسط intro در انجمن سوالات اكسل - Excel Questions
    پاسخ ها: 1
    آخرين نوشته: 2011/08/06, 19:56
  5. يكي از كاربردهاي توابع اطلاعاتي چيست
    توسط exceliran در انجمن توابع اکسل - Excel Functions
    پاسخ ها: 0
    آخرين نوشته: 2010/03/05, 08:49

بازدید کنندگان با جستجو های زیر این صفحه را پیدا کرده اند

مقدار دادن به در ویژوال بیسیک column head

آدرس دهی متغییر در لیست باکس اکسل

هدر لیست باکس vba

عنوان ستون لیست باکس فرم

عنوان ستون لیست باکس فرم های ویژوال

معرفی header به لیست باکس vba

نحوه تغییر مقدار لیست باکس در ویژوال بیسیک

تعريف آيتم براى لىست باس vba

کلمات کلیدی این موضوع

علاقه مندی ها (Bookmarks)

مجوز های ارسال و ویرایش

  • شما نمیتوانید موضوع جدیدی ارسال کنید
  • شما امکان ارسال پاسخ را ندارید
  • شما نمیتوانید فایل پیوست کنید.
  • شما نمیتوانید پست های خود را ویرایش کنید
  •  
  • BB code ها فعال هستند
  • شکلک ها فعال هستند
  • کد [IMG] فعال است
  • کد [VIDEO] فعال است
  • کد HTML غیر فعال است
با ما در تماس باشيد