اذهب الي المحتوي
أوفيسنا

تعديل كود طباعة للكل بشرط


إذهب إلى أفضل إجابة Solved by احمدزمان,

الردود الموصى بها

السلام عليكم

تفضل اخي

Sub PRINT_ALL()
Application.ScreenUpdating = False
With Sheets("AAA")
With .UsedRange
For I = 6 To Sheets("AAA").Range("A" & Rows.Count).End(xlUp).Row
If .Cells(I, 2).Value = 10 Then
.Cells(I, 1).EntireRow.Hidden = True
End If
Next I
End With
ActiveWindow.SelectedSheets.PrintOut Copies:=1
.Rows.Hidden = False
End With
Application.ScreenUpdating = True
End Sub

رابط هذا التعليق
شارك

شكرا لك اخي  ابو محمد لوضعك الكود في ملف لان النت عندي موش تمام

وهدا تعديل على الكود السابق لكي يتجاهل الصفوف الفارغة اثناء الطباعة

Sub PRINT_ALL2()
Application.ScreenUpdating = False
With Sheets("AAA")
With .UsedRange
For I = 6 To Sheets("AAA").Range("A" & Rows.Count).End(xlUp).Row
If .Cells(I, 1).Value = "" Then
If .Cells(I, 2).Value = 10 Then
.Cells(I, 1).EntireRow.Hidden = True
End If

End if
Next I
End With
ActiveWindow.SelectedSheets.PrintOut Copies:=1
.Rows.Hidden = False
End With
Application.ScreenUpdating = True
End Sub
 

تم تعديل بواسطه hoorabie
رابط هذا التعليق
شارك

السلام عليكم ورحمة الله وبركاته 

 

شكرا

اخي  hoorabie

اخي ابو محمد اشرف 

 

على الحل والرد السريع 

 

ولكن المطلوب يجب أن القيمة الموجودة بالخلية b5

هي القيم من العمود A من ورقة AAA

 

حيث أن المطلوب عندما نضغط زر الطباعة يقوم بتبديل القيمة بالخلية B5

بالترتيب تلقائيا  بالقيم الموجودة بالعمود A من ورقة AAA وطباعتها 

ولكن بشرط إذا وجد الرقم عشرة بالعمودB لايقوم بطباعة محتوى الصف بالكامل 

 

وجزاكم الله خير الجزاء 

 

ارجو ان وفقت بالشرح 

رابط هذا التعليق
شارك

ارجو ان يكون هدا المطلوب حسب فهمي لسؤال

Sub PRINT_ALL2()
Application.ScreenUpdating = False
With Sheets("BBB")
With .UsedRange
For I = 6 To 16
If .Cells(I, 2).Value = 10 Then
.Cells(I, 1).EntireRow.Hidden = True
End If
Next I
End With
ActiveWindow.SelectedSheets.PrintOut Copies:=1
.Rows.Hidden = False
End With
Application.ScreenUpdating = True
End Sub

رابط هذا التعليق
شارك

Sub PRINT_ALL()
Dim I As Integer
For I = 6 To Sheets("AAA").Range("A" & Rows.Count).End(xlUp).Row
w = Sheets("AAA").Cells(I, 1).Value
   [B5] = w
   Calculate
   If Sheets("BBB").Range("B7") = 10 Then GoTo 9
  ActiveWindow.SelectedSheets.PrintOut Copies:=1
9 Next I

End Sub

 

السلام عليكم و رحمة الله وبركاته

 

بالإضافة الى حل اخي HOORPIE الجميل

 

هذا حل آخر بالتعديل على نفس كود اخونا الحبيب والقريب الى قلوبنا ابو احمد

 

رابط هذا التعليق
شارك

السلام عليكم ورحمة الله

 

أخي الكريم، يمكن استعمال الأول للأخ الحبيب عبد الله مع إضافة الشرط المطلوب قبل عملية الطباعة... ويكون كما يلي:

Sub PRINT_ALL()
Dim I As Integer
For I = 6 To Sheets("AAA").Range("A" & Rows.Count).End(xlUp).Row
If Sheets("AAA").Cells(I, 2).Value = 10 Then GoTo 1
w = Sheets("AAA").Cells(I, 1).Value
   [b5] = w
  ActiveWindow.SelectedSheets.PrintOut Copies:=1
1 Next I

End Sub

 

أخوك بن علية

رابط هذا التعليق
شارك

زائر
هذا الموضوع مغلق.
  • تصفح هذا الموضوع مؤخراً   0 اعضاء متواجدين الان

    • لايوجد اعضاء مسجلون يتصفحون هذه الصفحه
×
×
  • اضف...

Important Information