استخراج اطلاعات غیر صفر از جدول/گرفتن خروجی از یک لینک

Collapse
X
 
  • زمان
  • نمایش
حذف همه
new posts
  • ~M*E*H*D*I~
    • 2011/10/19
    • 4377
    • 70.00

    استخراج اطلاعات غیر صفر از جدول/گرفتن خروجی از یک لینک

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

    دوم اینکه من یه لینک
    XML
    دارم که آپدیت میشه ولی این لینک عوض میشه بعد مدتی و من مجبورم برم از
    connection
    اصلاحش کنم. من میخوام لینک جدید رو در یه سلول وارد کنم و خودش خودکار این لینک رو
    جایگزین کنه!! میشه یه همچین چیزی؟؟
    [CENTER]
    [SIGPIC][/SIGPIC]
    [/CENTER]
  • ~M*E*H*D*I~
    • 2011/10/19
    • 4377
    • 70.00

    #2
    برای سوال اول پیوت تیبل رو پیشنهاد میکنم در صورت اضافه شدن اطلاعات کافیه پیوت تیبل رو رفرش کرد

    Click image for larger version

Name:	2014-08-11 08-12-18 ق-ظ.jpg
Views:	1
Size:	43.1 کیلو بایت
ID:	123472
    فایل های پیوست شده
    [CENTER]
    [SIGPIC][/SIGPIC]
    [/CENTER]

    کامنت

    • ~M*E*H*D*I~
      • 2011/10/19
      • 4377
      • 70.00

      #3
      قسمت دوم فایلی که امین تو #7 گذاشته رو پیشنهاد میدم

      کافیه این بخش کد رو تغییر بدید

      کد PHP:
      url "http://members.tsetmc.com/tsev2/excel/MarketWatchPlus.aspx?d=0" 
      کافیه url مساوی با مقدار سلول حاوی لینک گذاشته بشه

      [CENTER]
      [SIGPIC][/SIGPIC]
      [/CENTER]

      کامنت

      • امين اسماعيلي
        مدير تالار ويژوال بيسيك

        • 2013/01/17
        • 1198
        • 84.00

        #4
        با درود
        در مورد سول مونطور که مهدی جان گفتن یه فایل برای بورس گذاشتیم - ادرس رو فک کنم به سل ارجاع دادیم که اگرم نداده باشیم به سادگی قابل انجام هست - واسه صفر ها هم که گفتین هم با فرمول نویسی و هم ویبی با حلقه For براحتی کارت انجام میشه- قسمت اول رو انجام بده - مورد دوم رو اگر سوال داشتی بگو
        در پناه خداوندگار ایران زمین باشید و پیروز

        کامنت

        • nartamis

          • 2014/06/04
          • 13

          #5
          یلام دوستای خوب
          اون مشکل ارجاع به سل حل شد
          اما مشکل حذف اطلاعاتی که صفر میشن پا برجاست
          سوال این شکلیه: یه جدول با جند ستون وسطر که مثلا اسن کالا و ستون بعد تعداد موجودی و ستون های دیگه. حالا میخوام در یک شیت دیگه فقط جدولی رو ببینم که تعداد اون کالا صفر نیست. در حقیقت میخوام کالاهای موجودم رو ببینم.
          با پیوت تیبلی که دوستمون ارائه کردن مشکل حل نمیشه چون در قسمت فیلتر all تیک نباید( بخوره به خاطر حذف صفر) بنابراین وقتی یه محصول جدید با یه عدد جدید به عنوان تعداد کالا (که تاحالا در جدول نبوده این عدده) وارد میشه حتی با رفرش کردن پیوت تیبل هم این محصول وارد جدول نمیشه.
          حالا دوستان تدبیری بی اندیشن :-D

          یه سوال دیگه : من یه وبلاگ دارم که میخوام یه سری دستور عمل داخلش بنویسم. حالا میخوام داخل اکسل لینک بذارم که این صفحه وبلاگم داخل خود اکسل نمایش داده بشه نه اینکه یه لینک بذارم تا طرف بیاد کلیک کنه بعد بروزرش باز بشه!!! میشه یه همچین کاری کرد؟؟؟؟

          (خدایا اکسل رو از ما نگیررر):D

          کامنت

          • امين اسماعيلي
            مدير تالار ويژوال بيسيك

            • 2013/01/17
            • 1198
            • 84.00

            #6
            با درود
            فرض کن اطلاعات شما توی شیت 2 ( از لحاظ نام کدنویسی نه نام ی که خودتون مینویسین باشه مثلا اسم شیت شما Excel هست اما در کد نویسی sheet index یا نام اصلیش همون sheet2 است ) و حالا میخواین اطلاعات ردیف هایی که صفر نیستند داخل شیت 3 ( دوباره مثل همان شیت 2 منظور از لحاظ کد نویسی است ) بیایند : کد زیر برای یک باتن نوشته شده - هر بار اطلاعات شیت مقصد پاک میشه و مجدادا برسی انجام میشه برای سری های بعدی

            کد:
            Private Sub CommandButton1_Click()
            Application.ScreenUpdating = False
            Sheet3.Cells.ClearContents
            Dim LastRow As Long
            If WorksheetFunction.CountA(Cells) > 0 Then
            LastRow = Sheet2.Cells.Find(What:="*", After:=[A1], SearchOrder:=xlByRows, SearchDirection:=xlPrevious).Row
            End If
            Dim lastrow1 As Long
            For Each C In Sheet2.Range("B1:B" & LastRow)
            lastrow1 = Application.WorksheetFunction.CountA(Sheet3.Range("A:A"))
            If C.Value <> 0 Then
            Rows(C.Row).Select
            Selection.Copy Destination:=Sheet3.Rows(lastrow1 + 1)
            End If
            Next C
            Range("A1").Select
            Application.ScreenUpdating = True
            MsgBox "Your information has been transfered Successfully "
            End Sub
            دقت کنید که در کد مذکور گفتیم اطلاعات مخالف صفر اگر سل شما به جای صفر خالیست باید "" <> بشه
            در پناه خداوندگار ایران زمین باشید و پیروز

            کامنت

            • nartamis

              • 2014/06/04
              • 13

              #7
              سلام
              من دقیق نمیدونم کدی که نوشتین اون چیزیه که مد نظرمه یانه. خواستم امتحانش کنم. یه جدول در شیت 2 نوشتم ستون A اسم کالا مثلا ستون B تعداد کالا و ستون های بعدی موارد دیگه. حالا طبق کد شما من انتظار دارم کد بیاد در ستون تعداد ردیف اول رو چک کنه اگه صفر نبود کل اون ریدف رو در جدول جدید در شیت 3 وارد کنه اما اگر تعدا صفر بود بره سراغ ردیف بعدی و این کار تا مثلا تا پایان ردیف های جدول انجام بشه. این الگوریتم برنامه ای هست که میخوام. کد شما رو وارد کردم اما ران نمیشه. این سطر For Each C In Sheet2.Range("B1:B" & LastRow)
              رو دیباگ زرد کرده
              ممنون برای زحمات و پاسخگویی شما

              کامنت

              • امين اسماعيلي
                مدير تالار ويژوال بيسيك

                • 2013/01/17
                • 1198
                • 84.00

                #8
                با درود
                نمونه فایل خدمت شما
                فایل های پیوست شده
                در پناه خداوندگار ایران زمین باشید و پیروز

                کامنت

                • nartamis

                  • 2014/06/04
                  • 13

                  #9
                  واقعا ممنون
                  این همون کدیه که مدنظرم بود. یه مقدار کارکترهاشو تغییر دادم تا به اون کاری که میخوام انجام بدم رسیدم.

                  کامنت

                  • nartamis

                    • 2014/06/04
                    • 13

                    #10
                    کمک فوری دوساتن. یه کاری میخوام انجام بدم.ینی میخوامی کدی داشته باشم که بگم از ساعت فلان تا ساعت فلان هر ده دقیقه این لینک رو رفرش کن.لینک هم در یه سل بود که قبلا راهنماییم کردین

                    داخل فروم های خارجی کلی گشتم و یه چیزایی دسگیرم شده

                    این که از
                    application.OnTime
                    باید استفاده کنم
                    ولی توو اسمبل کردنش موندم.من این دوتا کد رو در ماژول نوشتم اما قاطیه!!ینی وقتی تیک باکس رو میزنم هر یک دقیقه شروع به آپدیت میکنه اما تیک باکس رو که بر میدارم بازم آپدیت میکنه
                    :-(

                    کد:
                    [COLOR=#000000][FONT=times new roman][SIZE=3]Sub CheckBox3_Click()
                    Application.OnTime Now + TimeValue("00:01:00"), "ref"
                    End Sub[/SIZE][/FONT][/COLOR]
                    [COLOR=#000000][FONT=times new roman][SIZE=3]----------------------------------------
                    [/SIZE][/FONT][/COLOR]
                    [COLOR=#000000][FONT=times new roman][SIZE=3]Sub ref()
                    Dim wbMe As Workbook
                    Dim wsNew As Worksheet
                    Dim w As Integer
                    Dim wbURL As Workbook
                    Dim url As String
                    
                    Set wbMe = ThisWorkbook
                    url = Sheet2.Range("C6")
                    Set wbURL = Workbooks.Open(url)
                    
                    Set wsNew = wbMe.Sheets("Database1")
                    wsNew.Activate
                    
                    wbURL.Sheets(1).Cells.Copy Destination:=wsNew.Range("A1")
                    wbURL.Activate
                    
                    wbURL.Close
                    Sheet1.Select
                    MsgBox " Refreshed "
                    Application.OnTime Now + TimeValue("00:01:00"), "ref"
                    End Sub
                    [/SIZE][/FONT][/COLOR]


                    تازه این یاید کامل بشه ینی اولا باید بتونم بازه آپدیت شدنش بر اساس یه سل تعریف کنم(ینی بازه مورد نظر رو در یک سل وارد کنم نه اینکه در متن کد بنویسم) و دوم اینکه بگم این فرآیند آپدیت از ساعت فلان(مثلا 3 بعد ظهر) باشه تا فلان ساعت (مثلا 9شب)

                    مخم ترکید به قرآن.چقد منبع کم هست درمورد اکسل
                    Last edited by Amir Ghasemiyan; 2014/08/21, 10:39. دلیل: لطفا كدها را داخل تگ كد قرار دهيد

                    کامنت

                    • nartamis

                      • 2014/06/04
                      • 13

                      #11
                      دوستان، ادمین های محترم، کسی نبود مشکل منو حل کنه؟؟

                      کامنت

                      چند لحظه..