এক্সেল এক্সপ্লোরার nth কমা পরে স্থান যোগ করুন, নোটপ্যাড ++, অথবা emEditor?


0

নোটপ্যাড ++ 6.8.8 আমি শুরু করতে চাই এমন কয়েকটি লাইন চালু করতে চাই:

0,2,3,45,67,89,01,234,567,890,123,4567,8901
0,7,8,9,0,11,12,13,14,151,162,173,184
x,z,q,r,n,f,t,a,e,f,z,n,a

মধ্যে

0, 2,3, 45,67, 89,01, 234,567, 890,123, 4567,8901
0, 7,8, 9,0, 11,12, 13,14, 151,162, 173,184
x, z,q, r,n, f,t, a,e, f,z, n,a

প্রাথমিক পরে একটি স্থান 0, কমা, (পরে কমা দিয়ে প্রথম সংখ্যা) এবং তারপর প্রতি 2 টি কমা, কমা পরে একটি ফাঁকা স্থান রাখুন।

  • না প্রতিটি লাইন দিয়ে শুরু হবে 0 [ZERO]। কোন অঙ্ক বা সময়ের সাথে শুরু করতে পারেন . সম্ভবত শব্দ কখনও কখনও।
  • আমি প্রতিটি লাইন স্বাধীনভাবে চিকিত্সা করা চাই; তাদের পৃথক লাইন কন্টেন্ট বজায় রাখুন (সংখ্যা এবং কমা অনুসন্ধান করার সময় এক লাইন অন্যের মধ্যে মোড়ানো করতে পারে না)।

আমার আরেকটি পরিস্থিতি থাকতে পারে যেখানে প্রথম কমাতে 4 টি গোষ্ঠীতে কমা পরে স্থান যোগ করতে হবে। উদাহরণ:

x,z,q,r,n,f,t,a,e,f,z,n,a

থেকে

x, z,q,r,n, f,t,a,e, f,z,n,a

নোটপ্যাড ++ এটি (নিয়মিত এক্সপ্রেশন, ম্যাক্রো, ইত্যাদি) করতে পছন্দের উপায়, তবে আমার যদি এমইডিডিটর, এমএস ওয়ার্ড / এক্সেল 2010 থাকে তবে এটি সাহায্য করে। এটির মতো একটি ম্যাক্রো রেকর্ড করা কঠিন, কারণ প্রতিটি কমা আগে / পরে অক্ষরের পরিমাণটি পৃথক হতে পারে। সমন্বয় প্রয়োজন হলে আপনি ব্যবহার সিনট্যাক্স ব্যাখ্যা করুন।

উত্তর:


1

যদি আপনি কলাম A তে আপনার লাইনগুলি পেস্ট করেন এবং আপনার পরিসরতে কাজক্রম পরিবর্তন করেন তবে এটি এক্সেলের মধ্যে এটি করার একটি উপায়। তারপর আপনি কলাম A কে নোটপ্যাডে অনুলিপি করতে পারেন

এক্সেল খুলুন Developer tab এবং নির্বাচন করুন Visual Basic [অ্যাপ্লিকেশন জন্য], বা প্রেস Alt + F11

Excel Developer tab VBA screenshot

নীচের কোডটি একটি নতুন মডিউলে কপি করুন:

Option Explicit
Public Sub notepadthing()

    Dim workingRange As Range
    'Set your range here
    Set workingRange = Range("A1:A3")
    workingRange.TextToColumns _
    Destination:=workingRange, _
    DataType:=xlDelimited, _
        TextQualifier:=xlTextQualifierNone, _
        ConsecutiveDelimiter:=False, _
        Tab:=False, _
        Semicolon:=False, _
        Comma:=True, _
        Space:=False, _
        Other:=False

Dim lastColumn As Long
Dim rowNumber As Long
Dim columnNumber As Long
Dim myString As String


For rowNumber = 1 To workingRange.rows.count
    lastColumn = Cells(rowNumber, Columns.Count).End(xlToLeft).Column
    myString = Cells(rowNumber, 1) & ", "
    For columnNumber = 2 To lastColumn - 1
        myString = myString & Cells(rowNumber, columnNumber) & ","
        If columnNumber Mod 2 <> 0 Then myString = myString & " "
    Next
    Cells(rowNumber, 1) = myString & Cells(rowNumber, lastColumn)
Next

    Application.ScreenUpdating = True
End Sub

স্প্রেডশীটটি আপনি বর্তমান স্প্রেডশীট ফর্ম্যাট করতে চান। VBA উইন্ডোতে ফিরে যান এবং ক্লিক করুন Run বোতাম (একটি ডিভিডি বা মিউজিক প্লেয়ারের একটি বাট বাটনের মত দেখায়)

Excel VBA run module

এটা শুধু কলাম এবং concatenation টেক্সট। আমি এটা করতে সহজ উপায় আছে নিশ্চিত নই।


স্পেসিং কাজ উপায় এখানে হয় -

For columnNumber = 2 To lastColumn - 1
   myString = myString & Cells(rowNumber, columnNumber) & ","
   If columnNumber Mod 2 <> 0 Then myString = myString & " "
Next
Cells(rowNumber, 1) = myString & Cells(rowNumber, lastColumn)

এটা সবসময় একটি যোগ করে , কিন্তু এটি একটি স্থান যোগ করার সময় আপনি সিদ্ধান্ত নিতে পারেন । ডান এখন কলাম 1 একা বসে। তাই আমরা কলামের মাধ্যমে যেতে, অদ্ভুত কলাম স্থান প্রয়োজন columnnumber Mod 2 <> 0

এটি পরিবর্তন করার জন্য, আপনাকে লজিকের মাধ্যমে কাজ করতে হবে: কলাম 1 এর পরে একটি স্থান আছে এবং তারপরে আমাকে 4 টি গোষ্ঠীর প্রয়োজন, তাই কলাম 5, কলাম 9, কলাম 13। তবে এটিগুলির সাথে কাজ করা কঠিন সংখ্যা এবং তারা কেবল বন্ধ 1 প্রাকৃতিক গুণগত মান 1। তাই যদি আমি এক বিয়োগ করি এবং চারটি দ্বারা বিভক্ত চেক করি ..

If (columnNumber - 1) Mod 4 = 0 Then myString = myString & " "

1) আমি কিভাবে 2 এর পরিবর্তে 4 এর গোষ্ঠী তৈরি করব? x, z,q,r,n, f,t,a,e, f,z,n,a পরিবর্তে x, z,q, r,n, f,t, a,e, f,z, n,a 2) আমার কিছু ব্যাখ্যা বা মতামত দরকার যাতে আমি বুঝতে পারি কোডের কোন অংশটি স্পেসিং করছে, কমা খুঁজে পেয়েছে, ইত্যাদি যাতে আমি বরাবর অনুসরণ করতে পারি। পারবে তুমি সম্পাদন করা আপনার উত্তর এই অন্তর্ভুক্ত? আমি 3 টিরও বেশি লাইনের ফর্ম্যাট করার চেষ্টা করেছি, এবং আমি কেবল সম্পাদনা করেছি Range("A1:A3")। এটা আপনি সম্পাদন প্রয়োজন সক্রিয় আউট For rowNumber = 1 To 3 এছাড়াও। আপনি কি এটিকে আরও সামঞ্জস্যপূর্ণ করতে পারেন, তাই আমি কেবলমাত্র এক জায়গায় সম্পাদনা করবো যে কতগুলি সারির ডেটা ফরম্যাটিং প্রয়োজন?
Jon Grah

1
এখন আপনাকে শীর্ষে একবার আপনার কার্যকরী রেঞ্জ সংজ্ঞায়িত করতে হবে।
Raystafarian

1
কিভাবে স্পেস সামঞ্জস্য বজায় ব্যাখ্যা আমার উত্তর একটি অংশ যোগ করা হয়েছে।
Raystafarian

পারফেক্ট। এবং সংশোধিত ব্যাখ্যা অনেক ভাল তাই আমি এটা বুঝতে পারেন। সত্যি, আমি আসল মানগুলি উৎপন্ন করতে এক্সেল (2010) ব্যবহার করছিলাম x z q r n f t a e f z n a সংলগ্ন কোষ প্রতিটি। তারপর ম্যানুয়ালি হাইলাইট এবং তাদের অনুলিপি notepad++। কিন্তু তারা সীমিত সীমিত পেস্ট করা হবে। তাই আমি কমা সঙ্গে ট্যাব খুঁজে / প্রতিস্থাপন করতে হবে, এবং এখনও বিন্যাস space এই ব্যবহার করার প্রয়োজন minimizes notepad++, চূড়ান্ত বিন্যাস স্ট্রিং সংরক্ষণ ছাড়া। যাইহোক আমি যাইহোক করতে অন্য এক্সেল শীট ব্যবহার করবে। ধন্যবাদ রে।
Jon Grah

উত্তর জন্য ভোট দিয়েছেন। আমি মনে করি একমাত্র জিনিস বাকি (অতিরিক্ত ক্রেডিট) এই মডিউল চালানোর জন্য একটি কাস্টম শর্টকাট কী। হয় একটি মডিউল বা নির্দিষ্ট স্প্রেডশীটে বরাদ্দ যেখানে মডিউল বলা হবে। কোন ধারনা? এছাড়াও, যদি আপনি পছন্দ করেন কিভাবে প্রশ্নটি ফর্ম্যাট করা হয়েছিল, আপনি এটির জন্য ভোট দিতে পারেন।
Jon Grah
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.