Astuce: Les autres langues sont Google-Traduction. Vous pouvez visiter le English version de ce lien.
Se connecter
x
or
x
x
S'enregistrer
x

or

Comment imprimer une feuille spécifique en fonction des valeurs de cellule dans Excel?

Avez-vous déjà essayé d'imprimer des feuilles spécifiques en fonction d'une valeur de cellule? Dans cet article, je vais parler de quelques exemples sur cette question, si vous êtes intéressé par ce problème, s'il vous plaît continuez.

Imprimer une feuille basée sur une cellule avec VBA

Imprimer une feuille basée sur la cellule adjacente avec VBA


Imprimer une feuille basée sur une cellule avec VBA


Supposons qu'il existe deux feuilles, vous souhaitez imprimer Sheet1 ou Sheet2 ou les deux feuilles basées sur Cell A1 dans le Sheet1. S'il vous plaît faire comme ci-dessous:

Dans ce cas, entrez 1 pour imprimer la première feuille, entrez 2 pour imprimer la deuxième feuille et 3 pour imprimer les deux feuilles.

1. Entrez 1, 2 ou 3 comme vous avez besoin d'A1 dans la première feuille et appuyez sur Alt + F11 clés pour ouvrir Microsoft Visual Basic pour applications fenêtre. Voir la capture d'écran:
doc imprimer la feuille par cellule 1

2. Cliquez insérer > Moduleet collez le code ci-dessous dans le Module scénario. Voir la capture d'écran:

VBA: feuille d'impression basée sur la valeur de la cellule

Sub PrintStuff()
'UpdayebyExtendoffice20180811
    Dim xRgVal As Variant
    Dim xSheets As Sheets
    Set xSheets = ActiveWorkbook.Worksheets
    xRgVal = xSheets(1).Range("A1").Value
    If (IsNumeric(xRgVal)) And (Len(xRgVal) = 1) Then
        Select Case xRgVal
            Case 1
                xSheets(1).PrintOut
            Case 2
                xSheets(2).PrintOut
            Case 3
                xSheets(1).PrintOut
                xSheets(2).PrintOut
            Case Else
                MsgBox "Enter1,2 or 3 into A1(1 print Sheet1 2 print Sheet2 3 print Sheet1 and Sheet2 ", , "KuTools For Excel"
                Exit Sub
            End Select
    Else
        Exit Sub
    End If
End Sub

doc imprimer la feuille par cellule 2

3. presse F5 clé pour imprimer directement la feuille (s).


Imprimer une feuille basée sur la cellule adjacente avec VBA

Si vous avez plusieurs feuilles dans un classeur et que vous souhaitez imprimer une ou plusieurs feuilles en fonction des valeurs de cellule de ce classeur, vous pouvez procéder comme suit:

1. Créer une nouvelle feuille nommée Feuille de contrôle dans le classeur que vous utilisez, et lister tous les noms de feuilles dans la colonne A (inclure ou exclure la feuille de contrôle selon vos besoins). Voir la capture d'écran:
doc imprimer la feuille par cellule 3

2. Tapez "impression"Dans la cellule adjacente à côté du nom de la feuille si vous voulez l'imprimer. Voir la capture d'écran montrée.
doc imprimer la feuille par cellule 4

3. presse Alt + F11 touches pour activer le Microsoft Visual Basic pour applications fenêtre, et cliquez insérer > Module. Voir la capture d'écran:
doc imprimer la feuille par cellule 5

4. Collez le code ci-dessous dans le module et appuyez sur F5 clé pour exécuter le code.

VBA: impression basée sur la cellule adjacente

Sub CreateControlSheet()
'UpdatebyExtendoffice20170811
    Dim i As Integer
    Dim xCSheetRow As Integer
    Dim xSName As String
    Dim xCSheet As Variant
    Dim xRgVal As String
    On Error Resume Next
    xSName = "Control Sheet"
    Application.ScreenUpdating = False
    Application.DisplayAlerts = False
    Set xCSheet = ActiveWorkbook.Worksheets(xSName)
    xCSheetRow = xCSheet.Range("B65536").End(xlUp).Row
    For i = 2 To xCSheetRow
        xRgVal = xCSheet.Range("B" & i).Value
        If xRgVal = "Print" Or xRgVal = "print" Then
            If xCSheet.Range("A" & i).Value <> "" Then
                ActiveWorkbook.Worksheets(xCSheet.Range("A" & i).Value).PrintOut
            End If
        End If
    Next
    xCSheet.Delete
    ActiveWorkbook.Worksheets.Add
    ActiveSheet.Name = "Control Sheet"
    Range("A1").Select
    ActiveCell.FormulaR1C1 = "Sheet Name"
    Range("B1").Select
    ActiveCell.FormulaR1C1 = "Print?"
    For i = 1 To ActiveWorkbook.Worksheets.Count
        Range("A" & i + 1).Value = ActiveWorkbook.Worksheets(i).Name
    Next
    Cells.Columns.AutoFit
    Application.DisplayAlerts = True
    Application.ScreenUpdating = True
End Sub

doc imprimer la feuille par cellule 6

Après l'exécution du code, les feuilles seront imprimées en même temps et, en même temps, une nouvelle feuille de contrôle remplacera l'ancienne.

Pointe.Si vous avez Kutools for Excel's Créer une liste de noms de feuille utilitaire, vous pouvez rapidement créer une liste de tous les noms de feuille dans une nouvelle feuille avec un lien cliquable.Il est pleine fonction sans limitation dans les jours 60, s'il vous plaît télécharger et avoir un essai gratuit maintenant.


doc imprimer la feuille par cellule 7

Outils de productivité recommandés

Office Tab

étoile d&#39;or1 Apportez des onglets pratiques à Excel et à d'autres logiciels Office, tout comme Chrome, Firefox et Internet Explorer.

Kutools for Excel

étoile d&#39;or1 Incroyable! Augmentez votre productivité dans les minutes 5. Ne nécessite pas de compétences particulières, économisez deux heures par jour!

étoile d&#39;or1 300 Nouvelles fonctionnalités pour Excel, rendent Excel facile et puissant:

  • Fusionner des cellules / lignes / colonnes sans perdre de données.
  • Combiner et consolider plusieurs feuilles et classeurs.
  • Comparez les gammes, copiez plusieurs gammes, convertissez le texte en date, l'unité et la conversion de devise.
  • Compter par couleurs, sous-totaux de recherche, tri avancé et super filtre,
  • Plus Sélectionner / Insérer / Supprimer / Texte / Format / Lier / Commenter / Classeurs / Feuilles de calcul Outils ...

Capture d&#39;écran de Kutools pour Excel

Say something here...
symbols left.
You are guest ( Sign Up? )
or post as a guest, but your post won't be published automatically.
Loading comment... The comment will be refreshed after 00:00.

Be the first to comment.