نوشتن vba ی که فایل تکست را باز کند و چند عمل انجام دهد

Collapse
این تاپیک قفل است.
X
X
 
  • زمان
  • نمایش
حذف همه
new posts
  • amirbroker1
    • 2019/11/01
    • 3

    [حل شده] نوشتن vba ی که فایل تکست را باز کند و چند عمل انجام دهد

    سلام وقت بخیر
    من همیشه یک فایل تکست را در اکسل وارد می کنم که فرمت مشابه این را دارد
    1,2,3,4;5,6,7,8 (فایل پیوست)
    اعدادی که بینشان "," باشد را در یک ردیف به این صورت مینویسم مثلا 5 در a1 و ۶ در b1 و ۷ در c1 و 8 در d1 سپس به عبارت ";" که میرسم به ردیف بعد میروم و به این صورت می نویسم ۱ در a2 و ۲ در b2 و ۳ در c2 و ۴ در d2 و به همین صورت تا اخر
    خیلی ممنون میشم کسی بتونه کمکم کنه
    البته میدونم برای دوستان سوال ابتدایی هست ولی خوب به من خیلی کمک می کنه ممنون میشم جوابم رو بدید
    فایل های پیوست شده
  • M_ExceL

    • 2018/04/23
    • 677

    #2
    نوشته اصلی توسط amirbroker1
    سلام وقت بخیر
    من همیشه یک فایل تکست را در اکسل وارد می کنم که فرمت مشابه این را دارد
    1,2,3,4;5,6,7,8 (فایل پیوست)
    اعدادی که بینشان "," باشد را در یک ردیف به این صورت مینویسم مثلا 5 در a1 و ۶ در b1 و ۷ در c1 و 8 در d1 سپس به عبارت ";" که میرسم به ردیف بعد میروم و به این صورت می نویسم ۱ در a2 و ۲ در b2 و ۳ در c2 و ۴ در d2 و به همین صورت تا اخر
    خیلی ممنون میشم کسی بتونه کمکم کنه
    البته میدونم برای دوستان سوال ابتدایی هست ولی خوب به من خیلی کمک می کنه ممنون میشم جوابم رو بدید
    سلام،
    در فایل پیوست ابتدا ماکرو را فعال کنید سپس روی باتن انتخاب فایل کلیک کنید.
    سپس فایل تکستون رو انتخاب کنید.
    کد:
    Sub m_excel()
    
    Dim my_file As Integer
    Dim text_line As String
    Dim file_name As String
    Dim intChoice As Integer
    Dim i As Long
    
    Cells.ClearContents
    intChoice = Application.FileDialog(msoFileDialogOpen).Show
    file_name = Application.FileDialog(msoFileDialogOpen).SelectedItems(1)
    
    my_file = FreeFile()
    Open file_name For Input As my_file
    Line Input #my_file, text_line
    Cells(1, "A").Value = Replace(text_line, """", "")
    
    Dim t_array As Variant
    t_array = Split(Range("a1").Text, ";")
    
    For i = LBound(t_array) To UBound(t_array)
    
    Cells(i + 2, 1) = t_array(i)
    Next
    Range("a1").ClearContents
    Columns(1).TextToColumns Destination:=Range("A1"), DataType:=xlDelimited, _
    TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=True, _
    Semicolon:=False, Comma:=True, Space:=False, Other:=False, FieldInfo _
    :=Array(Array(1, 1), Array(2, 1), Array(3, 1), Array(4, 1), Array(5, 1), Array(6, 1), _
    Array(7, 1), Array(8, 1), Array(9, 1), Array(10, 1), Array(11, 1), Array(12, 1), Array(13, 1 _
    )), TrailingMinusNumbers:=True
    
    End Sub
    فایل های پیوست شده
    [CENTER]Telegram Channel : [url]https://t.me/UltraOfficeSkills[/url]
    [/CENTER]

    کامنت

    • amirbroker1
      • 2019/11/01
      • 3

      #3
      درود بر شما هزاران تشکر هم نمیتونه قدردان کاری که کردید باشه ممنونم

      کامنت

      چند لحظه..