متلاشی
محفلین
کوئیک ایسس ٹول بار پر کلک کر کے کسٹمائز کے بٹن پر کلک کریں وہاں سے choose commands from میں سے میکروز سیلکٹ کریں اور اپنے میکرو کو ایڈ کر لیںیہ کیسے کرسکتے ہیں ؟
کوئیک ایسس ٹول بار پر کلک کر کے کسٹمائز کے بٹن پر کلک کریں وہاں سے choose commands from میں سے میکروز سیلکٹ کریں اور اپنے میکرو کو ایڈ کر لیںیہ کیسے کرسکتے ہیں ؟
شکریہ!کوئیک ایسس ٹول بار پر کلک کر کے کسٹمائز کے بٹن پر کلک کریں وہاں سے choose commands from میں سے میکروز سیلکٹ کریں اور اپنے میکرو کو ایڈ کر لیں
جی، میکرو میں ایرر تھے، میں نے وقت ملنے پر ابھی ٹھیک کر دیا ہے۔
کوڈ:Sub Main() Dim xl As Object 'Excel.Application Dim wb As Object 'Excel.Workbook Dim ws As Object 'Excel.Worksheet Dim rng As Object 'Excel.Range Dim cl As Object 'Excel.Range Set xl = CreateObject("Excel.Application") Set wb = xl.Workbooks.Open("D:\list.xlsx") '## Modify as needed Set ws = wb.Sheets(1) '##Modify as needed Set rng = ws.Range("a1:a2") For Each cl In rng Call Macro5(cl.Value, cl.Offset(0, 1).Value) Next End Sub Sub Macro5(findText$, replaceText$) ' ' Macro5 Macro ' ' Selection.Find.ClearFormatting Selection.Find.Replacement.ClearFormatting With Selection.Find .Text = findText .Replacement.Text = replaceText .Forward = True .Wrap = wdFindContinue .Format = False .MatchCase = False .MatchWholeWord = False .MatchWildcards = False .MatchSoundsLike = False .MatchAllWordForms = False End With Selection.Find.Execute Replace:=wdReplaceAll Selection.Find.Execute End Sub
ایکسل فائل کے کالم اے میں الفاظ رکھیں اور کالم بی میں ان کے متبادل۔
a1:a2 میں a2 کی جگہ آخری لفظ کا کالم نمبر لکھیں۔
Private Sub SearchAndReplace(search As String, replace As String)
Dim i As Integer
Dim chunks As Integer
Dim chunk As String
Selection.GoTo What:=wdGoToSection, Which:=wdGoToFirst ' Go to the start of the document
With Selection.Find
.ClearFormatting
.MatchCase = True
.MatchWholeWord = True
' We get error 5854 if the replacement text is greater than 255 characters, so need to work around
' How many 250 character "chunks" are there in the replacement text?
chunks = Round(Len(replace) / 250, 0) ' Use 250 to allow for {1}, etc.
If Len(replace) Mod 250 > 0 Then chunks = chunks + 1 ' Workaround because there's no Ceiling()
If chunks = 1 Then
.Execute FindText:="{" & search & "}", ReplaceWith:=replace, replace:=wdReplaceAll
Else
' Replace existing replacement variable (e.g. {Text}) the first chunk's replacement variable (i.e. {1})
.Execute FindText:="{" & search & "}", ReplaceWith:="{1}", replace:=wdReplaceAll
' Replace the text in chunks of less than 255 characters
For i = 1 To chunks
' Get the
chunk = Mid(replace, ((i - 1) * 250) + 1, 250)
' Add the replacement variable for the next chunk to the end of the string
If i < chunks Then chunk = chunk & "{" & (i + 1) & "}"
.Execute FindText:="{" & i & "}", ReplaceWith:=chunk, replace:=wdReplaceAll
Next i
End If
End With
End Sub
Sub Macro5(findText$, replaceText$)
'
' Macro5 Macro
'
'
Selection.Find.ClearFormatting
Selection.Find.Replacement.ClearFormatting
With Selection.Find
.Text = findText
.Replacement.Text = replaceText
.Forward = True
.Wrap = wdFindContinue
.Format = False
.MatchCase = False
.MatchWholeWord = False
.MatchWildcards = False
.MatchSoundsLike = False
.MatchAllWordForms = False
End With
Selection.Find.Execute Replace:=wdReplaceAll
Selection.Find.Execute
End Sub
جناب آپ کے بتائے ہوئے طریقے کار پر عمل کرتے ہوئے پچھلے کوڈ کو نئے سے تبدیل کردیا۔ تاہم اب بھی وہی رن ٹائم ایرر5854 آرہا ہے۔ اور ڈی بگ اس لائن کو شو کررہا ہے :میرے میکرو میں اِس کوڈ کو اپنے تلاش کئے ہوئے کوڈ سے تبدیل کر دیں:
.Execute findText:="{" & search & "}", ReplaceWith:="{1}", replace:=wdReplaceAll
میں نے یہ سمجھتے ہوئے کہ آپ کو درست حل ملا ہے، اس کوڈ کو اپنے میکرو میں ضم کر دیا تھا۔ ابھی دفتر میں ہوں خود اس کو ٹیسٹ نہیں کر سکتا۔ آپ رن ٹائم ایرر5854 کو ذرا گوگل پر تھوڑا اور کھنگالیں۔جناب آپ کے بتائے ہوئے طریقے کار پر عمل کرتے ہوئے پچھلے کوڈ کو نئے سے تبدیل کردیا۔ تاہم اب بھی وہی رن ٹائم ایرر5854 آرہا ہے۔ اور ڈی بگ اس لائن کو شو کررہا ہے :
کوئی حل؟کوڈ:.Execute findText:="{" & search & "}", ReplaceWith:="{1}", replace:=wdReplaceAll
صاحبو اس کام کیلئے پاک ورڈ فائنڈر استعمال کریں۔ یہ فائل ریپلیس والا مسئلہ تو ہم نے 2010 ہی میں حل کر لیا تھا۔ ابرارحسین اس سلسلہ میں رہنمائی کر سکتے ہیں۔
نہیں جناب اس سے کام نہیں بن رہا۔عارف کریم بھائی کے بتایا ہوا ٹول ٹرائی کر کے دیکھیں
چونکہ 255 کیریکٹرز کی لمٹ ہوتی ہے۔نہیں جناب اس سے کام نہیں بن رہا۔
شکریہ عارف بھائی ! اس آپشن کو میں نے شاید استعمال نہیں کیا تھا ۔ کرکے دیکھتا ہوں۔آپنے ریپلیس والا آپشن استعمال کیا؟ اسمیں میکرو والی کوئی لمٹ نہیں ہے: