ClearContents کردن سلول های مرج شده

Collapse
X
 
  • زمان
  • نمایش
حذف همه
new posts
  • yuri

    • 2021/02/17
    • 43

    پرسش ClearContents کردن سلول های مرج شده

    Range("C4:C18")
    Range("C4:C18")
    Range("C4:C18")درود
    برای فاکتوری که طراحی کردم
    میخواستم اطلاعاتی که برای فاکتور جدید نیاز هست رو به روز رسانی کنم
    به این کد رسیدم :
    Sub NewInvoice()

    Range("H8").Value = Range("H8").Value + 1
    Range("C4:C18").ClearContents
    Range("A22:A30").ClearContents
    Range("H22:H30").ClearContents
    Range("C36:C37").ClearContents
    Range("G22:G28").ClearContents
    Range("B31").ClearContents
    Range("D31").ClearContents
    Range("H36").ClearContents
    End Sub

    ارور 1004 میده علتش هم اینه سلول های مرج شده رو ClearContents نمیکنه
    h8 شماره فاکتور هست
    چند راه رو امتحان کردم ولی به نتیجه نرسیدم مثلا در اینجا که c14:c18 نوشتم تا سلول I هم مرج شده هست مثلا نوشتم Range("C4:I4") یا Range(",4:D4,E4,F4,G4,H4,I4") یا
    Range("C4:C18")
    Range("D4:D18")
    Range("D4:D18")
    Range("E4:E18")
    Range("F4:F18")
    Range("G4:G18")
    Range("H4:H18")
    Range("I4:I18")

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

    • 2012/06/25
    • 699

    #2
    با سلام
    کد زیر را امتحان کنید .

    کد:
    Sub MergedClear()
        Dim Rg As Range, Rg1 As Range
        Dim xAddress As String
        On Error Resume Next
       Set Rg = Sheet1.Range("C4:C18")
        If Rg Is Nothing Then Exit Sub
        For Each Rg1 In Rg
            If Rg1.MergeCells Then Rg1.MergeArea.ClearContents
        Next
    End Sub
    پایدار باشید میر

    کامنت

    • yuri

      • 2021/02/17
      • 43

      #3
      سپاس از شما
      عالی عالی شد
      بعد از next هم سلول هایی که مرج نبودند رو گذاشتم و به خوبی کار کرد
      یک کد vba هم دارم که به این شرح هست :

      Sub SaveInvWithNewName()
      Dim NewFN As Variant
      ' Copy Invoice to a new workbook
      ActiveSheet.Copy
      NewFN = "C:\list factor" & Range("H8").Value & ".xlsx"
      ActiveWorkbook.SaveAs NewFN, FileFormat:=xlOpenXMLWorkbook
      NewFN = "C:\list factor" & Range("H8").Value & ".pdf"
      ActiveWorkbook.SaveAs NewFN, FileFormat:=xlOpenXMLWorkbook
      Print2
      ActiveWorkbook.Close
      NewInvoice
      ActiveWorkbook.Save
      End Sub


      که وابسته به کد اولی هست که روش کلیک میکنم یک فایل اکسل کپی میکنه و کد اصلی فقط اکسل بود که pdf هم براش اضافه کردم یعنی میخوام همزمان یک فایل اکسل و یک فایل pdf ذخیره کنه که انجام میده ولی فایل پی دی اف رو باز نمیکنه چون دومین سطر مربوط که به ذخیره pdf مربوط به فرمت اکسل هست یعنی FileFormat:=xlOpenXMLWorkbook که بجاش از FileFormat:=xlTypePDF استفاده کردم ولی خطا داد و به حالت قبلی برگردوندمش
      اگر امکانش هست لطف کنید این مورد رو هم کمکم کنید و اینکه از سلول A1 تا I40 ذخیره کنه نه همه ش رو

      کامنت

      • majid_mx4

        • 2012/06/25
        • 699

        #4
        با سلام
        برای باز کردن فایل PDF بعد از کد ذخیره فایل PDF کد زیر را اضافه کنید
        کد:
        ChDir "C:\Users\Mx4\Desktop\list factor"  ' مسير فايل شما
            ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
                "C:\Users\Mx4\Desktop\list factor\list factor" & Range("H8").Value & ".pdf", Quality:=xlQualityStandard, _
                IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:= _
                True
        توجه داشته باشید مسیر خودتان را با مسیر داده شده در کد تغییر دهید.
        قسمت دوم سوالتان را متوجه نشدم یعنی میخواهید وقتی فایل ذخیره میشود فقط سلول A1 تا i40 ذخیره شود.
        موفق باشید میر

        کامنت

        • yuri

          • 2021/02/17
          • 43

          #5
          ممنون
          بله درسته میخوام فقط سلول a1 تا i40 ذخیره شود
          منظورتون رو دقیق متوجه نشدم یعنی کد زیر رو بنویسم :
          NewFN = "C:\list factor" & Range("H8").Value & ".pdf"
          و بعد از آن از کد شما استفاده کنم؟
          این کار رو کردم و برای مسیر خودم انتخاب کردم و کد زیر رو وارد کردم
          ChDir "C:\list factor" ' مسير فايل شما
          ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
          "C:\list factor" & Range("H8").Value & ".pdf", Quality:=xlQualityStandard, _
          IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:= _


          ولی از سطر دوم به بعد رو debug آورد و زرد رنگ شد و فایلم رو میذارم
          مربوط به بالاترین button یعنی "ذخیره و جدید" هست

          کامنت

          • yuri

            • 2021/02/17
            • 43

            #6
            آقا مجید عزیز میدونم براتون زحمته اگر امکانش هست کمکم کنید
            ایشالا ما هم به زودی کامل یاد میگیریم مثل شما به بقیه دوستان کمک میکنیم

            نوشته اصلی توسط majid_mx4
            با سلام
            برای باز کردن فایل PDF بعد از کد ذخیره فایل PDF کد زیر را اضافه کنید
            کد:
            ChDir "C:\Users\Mx4\Desktop\list factor"  ' مسير فايل شما
                ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
                    "C:\Users\Mx4\Desktop\list factor\list factor" & Range("H8").Value & ".pdf", Quality:=xlQualityStandard, _
                    IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:= _
                    True
            توجه داشته باشید مسیر خودتان را با مسیر داده شده در کد تغییر دهید.
            قسمت دوم سوالتان را متوجه نشدم یعنی میخواهید وقتی فایل ذخیره میشود فقط سلول A1 تا i40 ذخیره شود.
            موفق باشید میر

            کامنت

            چند لحظه..