অন্য ওয়ার্কশীট থেকে একটি ওয়ার্কশীট অনুলিপি করার জন্য একটি ম্যাক্রো ব্যবহার করে


-1

এখানে আমার দ্বিধা ..

  1. আমি macros সঙ্গে একটি নোব এবং প্রয়োজন দ্বারা শেখার করছি
  2. এই ফোরাম একটি মহান সাহায্য হয়েছে কিন্তু আমি স্ক্রিপ্টিং অনেক এখনও অজ্ঞান।

এই আমি কি অর্জন করার চেষ্টা করছি ... আমার রয়েছে 1 ফোল্ডার ("মাসিক প্রতিবেদন") রয়েছে
"মাসিক রিপোর্ট। এক্সএক্সএক্স"
"ফেব্রুয়ারি_01_2017_Daily রিপোর্ট.এক্সএসএস"
"ফেব্রুয়ারী 2_2017_Daily রিপোর্ট.এক্সএসএস"
"ফেব্রুয়ারী 3_2017_Daily রিপোর্ট। এক্সএলএস", ect ....

প্রতিটি দৈনিক রিপোর্ট তাদের মধ্যে একাধিক ওয়ার্কশীট আছে

আমি যা করতে চাই তা কেবল প্রতিটি দৈনিক প্রতিবেদনের প্রথম শীট এবং অনুলিপি করা হয় "দিন 1", "দিন 2", "দিন 3" হিসাবে লেবেলযুক্ত প্রতিটি ওয়ার্কশীট সহ মাসিক প্রতিবেদনটি তাদের নিজস্ব কার্যপত্র হিসাবে আটকে দিন, সম্মানিতভাবে

মাসিক ওয়ার্কবুক হিসাবে সেট আপ করা হয়
পত্রক 1 - আমার কর্মপত্র দৈনিক প্রতিবেদন থেকে তথ্য কম্পাইল করা হয়।
পত্রক 2 - ডে 1 ডেটার জন্য সংরক্ষিত
পত্রক 3 - দিন 2 তথ্য জন্য সংরক্ষিত
পত্রক 4 - দিনের 3 তারিখের জন্য সংরক্ষিত
দিন 31 তথ্য জন্য শীট 32 মাধ্যমে সব পথ।

"ফেব্রুয়ারি_01_2017_Daily রিপোর্ট.xls" থেকে পত্রিকা 1 আমদানি করতে আমার "মাসিক রিপোর্ট.এক্সএক্সএক্স" এর ২ শিটের মধ্যে আমদানি করতে হবে।
তারপরে "ফেব্রুয়ারি ২২_2017_Daily প্রতিবেদন.এক্সএসএস" থেকে পত্রিকা 1 আমদানি করুন "মাসিক রিপোর্ট.এক্সএক্সএক্স"
তারপরে "মাসিক প্রতিবেদন.এক্সএক্সএক্স" এর পত্র 4 এ "ফেব্রুয়ারী 3_2017_Daily প্রতিবেদন। Xls" থেকে কার্যপত্র 1 আমদানি করুন।
31 দিনের জন্য সব পথ মাধ্যমে।

আমি দৈনিক প্রতিবেদনে অন্য যেকোনো পত্রকের অনুলিপি করতে চাই না - শুধুমাত্র শীট 1

মাসিক ওয়ার্কবুকের আমার শীটটি যথাযথভাবে ফিল্টার করে বলেছে (এই অংশটি সূক্ষ্ম কাজ করে)


দুঃখিত, আমি আরো নির্দিষ্ট করা উচিত এখানে আমি এখনই ব্যবহার করছি ...

Sub CopyWorkbook()

Debug.Print "Started "
'  dimensions variables as type
Dim directory As String, fileName As String, sheet As Worksheet
Debug.Print " completed 
' Turns off screen updating and display alrets
Application.ScreenUpdating = False
Application.DisplayAlerts = False
Debug.Print " Turns off screen updating"

' Initialsizes the variable directory
fileName = "C:\Users\U486474\Documents\00 Monthly from xls\Daily Adjusted Files\DailyReport__2017-01-28_00-00__2017-01-29_00-00  Copy Test .xlsx"       ' actual file to be copied
Debug.Print " Sets file to be copied"

Workbooks.Open (directory & fileName)      ' opens the Excel file
Debug.Print " Opens workbook of file to be copied"

Workbooks(fileName).Worksheets("Daily Report").Copy _
    after:=Workbooks("Monthly Adjusted Reports    Copy macro test.xlsm").Worksheets("Day 1")
Debug.Print " Copies files into existing workbook "

Workbooks(fileName).Close       ' closes the worksheet
Debug.Print " Closes workbook "
' Turn on screen updating and displaying alerts again
Application.ScreenUpdating = True
Application.DisplayAlerts = True


End Sub

ফাইলটি কেন অনুলিপি করা হচ্ছে তা আমি বুঝতে পারছি না।

এটি ফাইলটি খোলার জন্য এটি তৈরি করে কিন্তু এটি অনুলিপি করবে না। স্ক্রিপ্টটি শুধুমাত্র 1 ফাইলের জন্য, এখন আমি 1 দিনের কাজ করার পরে পুরো মাসের জন্য লুপ তৈরি করব


1
দয়া করে মনে রাখবেন superuser.com একটি বিনামূল্যে স্ক্রিপ্ট / কোড লেখা সেবা নয়। যদি আপনি আমাদের কাছে যা বলেছিলেন তা এখন পর্যন্ত জানান (আপনি ইতিমধ্যে ব্যবহার করছেন এমন স্ক্রিপ্ট / কোডটি অন্তর্ভুক্ত করুন) এবং যেখানে আপনি আটকে আছেন তখন আমরা নির্দিষ্ট সমস্যার জন্য সাহায্য করার চেষ্টা করতে পারি। আপনি পড়তে হবে আমি কিভাবে একটি ভাল প্রশ্ন জিজ্ঞাসা করতে পারি?
DavidPostill

আপনি আপনার কোড দিয়ে ধাপে যদি F8, এটা ছেড়ে চলে যায় .Copy লাইন? এছাড়াও আপনার ওয়ার্কশীট নামগুলিতে ব্যবধানটি কেবল দুবার চেক করুন, এটি বন্ধ হতে পারে (বা এখানে আটকানোর সময় কেবল একটি ত্রুটি ছিল)। আপনি কি কোন ভুল পাবেন? যদি তাই হয়, যেখানে ত্রুটি?
BruceWayne

উত্তর:


0

অবশেষে এটা পেয়েছিলাম
আমি আলাদাভাবে কপি এবং পেস্ট ফাংশন চিকিত্সা ছিল


পাবলিক সাব কপি ওয়ার্কবুক ()

ডিবাগ। মুদ্রণ "ওয়ার্কশীট থেকে কপি শুরু - একবার ওয়ার্কশীট প্রতি"              'আকার হিসাবে মাত্রা ভেরিয়েবল Dim SourceFileName হিসাবে স্ট্রিং 'ফোল্ডারটির ফাইল পাথ সেট করে

স্ট্রিং হিসাবে ডেম DestFileName রেঞ্জ হিসাবে ডিমের রেঞ্জ ডেম SourceFile ওয়ার্কবুক সেট হিসাবে উৎস ফাইল ফোল্ডার ডেম Destfile ওয়ার্কবুক হিসাবে গন্তব্য ফোল্ডার ফাইল সেট করে

        ' Initialsizes the variable directory

SourceFileName = FiletoCopy 'প্রকৃত ফাইলের জন্য সম্পূর্ণ পাথ অনুলিপি করা হবে                 ডিবাগ.প্রিন্ট "কপি করা ফাইল সেট করে" & amp; SourceFileName

সেট করুন SourceFile = Workbooks.Open (SourceFileName) 'এক্সেল ফাইলটি খুলবে

             ' copies  the worksheet

SourceFile.Sheets ("দৈনিক প্রতিবেদন")। বিন্যাস ("A1: Z100")। অনুলিপি 'উৎস ওয়ার্কশীট থেকে কক্ষগুলি অনুলিপি করে

SourceFile। SaveChanges বন্ধ করুন: = মিথ্যা 'এক্সেল ফাইলটি বন্ধ করুন

    ' Pastes copied file into worksheet
    Debug.Print " Daysloop = " & DaysLoop
Dim PasteDay As String
PasteDay = "Day " & DaysLoop
PasteDay = WorksheetFunction.Text(DaysLoop, "00")

ActiveSheet.পাস্ট গন্তব্য: = ওয়ার্কশিটস ("দিন" এবং দিনের লোগো)। রেঞ্জ ("A1") 'ওয়ার্কশীট সম্মুখের পেস্ট করুন

ডিবাগ.প্রিন্ট "ওয়ার্কশীটে ফিরানো কপি - একবার ওয়ার্কশীট প্রতি"

শেষ সাব


এটি একটি সামান্য ছদ্মবেশী হতে পারে তবে এটি লুপ আমি দিনের সংখ্যা জন্য সামঞ্জস্য করতে তৈরি সঙ্গে ভাল কাজ করে।

যদি ও আমার একটি জিজ্ঞাসা ছিল. ????

আমি ফোল্ডারে পুরো পাথটি ব্যবহার করে কপি করার জন্য কপি করতে পারি। তারা একটি subfolder মধ্যে অবস্থিত যেখানে এক্সেল ওয়ার্কশীট হয়।

ফোল্ডার সরানো হলে একটি ছোট পাথ ব্যবহার করার উপায় আছে? সমস্ত রেফারেন্স আমি অনলাইন খুঁজে পেতে পারেন সম্পূর্ণ পথ প্রদর্শন।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.