গুগল শিটগুলি সবার জন্য নাও হতে পারে এমন ভেবে একই পংক্তিতে , এই ম্যাক্রো সবার জন্য নাও হতে পারে তবে এটি কারওর জন্য হতে পারে ।
এটি নির্বাচিত পরিসীমা জুড়ে চলে এবং কাটা টেক্সট সহ উপচে পড়া ঘরগুলি প্রতিস্থাপন করে।
পতাকাগুলি নির্ধারণ করে যে:
আপত্তিজনক পাঠ্যটি একটি নতুন ওয়ার্কশিটে একই আপেক্ষিক ঠিকানায় অনুলিপি করা হয়েছে বা যদি তা বাতিল করা হয়।
কাটা টেক্সটটি হার্ড কোডড বা কার্যপত্রকের সূত্রের মাধ্যমে যুক্ত linked =LEFT()
কাটা টেক্সটটি তার নতুন শীটে পুরো স্ট্রিংয়ের সাথে হাইপার লিঙ্কযুক্ত।
ডিফল্ট হ'ল ডেটা ধরে রাখা এবং উভয় লিঙ্ক ব্যবহার করা।
Option Explicit
Sub LinkTruncatedCells()
Dim rng As Range: Set rng = Selection
Dim preserveValues As Boolean: preserveValues = True
Dim linkAsFormula As Boolean: linkAsFormula = True
Dim linkAsHyperlink As Boolean: linkAsHyperlink = True
Dim w As Single
Dim c As Range
Dim r As Range
Dim t As Long
Dim l As Long
Dim s As String
Dim ws As Worksheet
Dim ns As Worksheet
Application.ScreenUpdating = False
Set ws = rng.Parent
For Each c In rng.Columns
w = c.ColumnWidth
t = 0
l = 0
For Each r In c.Rows
If Len(r) > l Then
s = r
If CBool(l) Then r = Left(s, l)
Do
r.Columns.AutoFit
If r.ColumnWidth > w And Len(s) > t Then
t = t + 1
r = Left(s, Len(s) - t)
l = Len(r)
End If
Loop Until t = Len(s) Or r.ColumnWidth <= w
r.ColumnWidth = w
If r <> s And preserveValues Then
If ns Is Nothing Then
Set ns = ws.Parent.Worksheets.Add(after:=ws)
End If
ns.Range(r.Address) = s
If linkAsFormula Then r.Formula = "=LEFT(" & ns.Name & "!" & r.Address & "," & l & ")"
If linkAsHyperlink Then ws.Hyperlinks.Add Anchor:=r, Address:="", SubAddress:= _
ns.Range(r.Address).Address(external:=True)
End If
End If
Next r
Next c
ws.Activate
Application.ScreenUpdating = True
End Sub
চূড়ান্ত দ্রষ্টব্য: আমি এটি ব্যক্তিগত প্রকল্পগুলির জন্য ব্যবহার করেছি এবং এটি নির্ভরযোগ্য পেয়েছি তবে দয়া করে কোনও অপরিচিত ম্যাক্রো চেষ্টা করার আগে আপনার কাজটি সংরক্ষণ এবং ব্যাক আপ করুন ।