J'essaie de rechercher une colonne et de faire quelque chose à toutes les cellules avec du texte, dans cette colonne, sauter des cellules vides.
spécifiquement
- Déplacer les cellules s'ils ont du texte de la colonne G Back 4 colonnes de la même rangée.
- Texte format comme centre / gras / arial 10.
- changer la couleur des cellules dans les colonnes AF dans la même ligne du texte que j'ai déplacé. P>
Je peux le faire pour une cellule en utilisant la VBA ci-dessous
3 Réponses :
Vous pouvez traiter une cellule par ses coordonnées ou une plage par son nom. Vous pouvez également adresser une cellule par son numéro d'index dans la collecte des cellules. Vous pouvez créer une collection de cellules dans une plage ou de toutes les cellules dans une feuille de calcul. Vous pouvez sélectionner n'importe quelle plage, être une cellule ou plusieurs. bien sûr, Après que vous sélectionnez em> une cellule que la cellule devienne Le cellules (1, "A") code> est la plage de cellules et ("A1") code> est la plage. Feuilles de calcul ("Stade1"). Cellules (1, "A") Code> Adresses Stade1! A1. Range ("A1: F1"). Cellules (1) Code> aborde la première cellule de A1: F1, qui, par hasard, serait également A1. Mais dans une plage C12: E23, ce serait C12. P> Cellules (1, "A"). Sélectionnez CODE> Sélectionne A1. feuille1! A1. Range ("A1: F1"). Cellules (1) .Sélectionnez Code> aurait le même effet que parce que A1 est la cellule de la gamme de francs ("A1: F1"). En sélectionnant une cellule ou une plage que la cellule ou la plage devient la sélection code> objet code>. Le code ci-dessous imprimera l'adresse de la sélection em> au volet immédiat. La sélection code> est une plage. L'adresse est $ 1 $ dans ce cas. P> cellules (1, "A") code> est une seule cellule mais vous pouviez Demandez toujours l'adresse de sa première cellule. cellules (1, "A"). Cellules (1) .Address code> donneront le même résultat. P> ActiveCell code>. Mais une seule cellule peut être active à la fois. Par défaut, Excel activera la première cellule de la plage de sélection code> code>. Dans l'exemple ci-dessous A1 est l'ActiveCell par défaut. P> With Range("A1:F1").Interior
.Pattern = xlSolid
.PatternColorIndex = xlAutomatic
.Color = 49407
.TintAndShade = 0
.PatternTintAndShade = 0
End With
Merci Variatus, info très utile là-bas. Avez-vous de la chance de savoir comment demander si une cellule contient du texte. Je voudrais dire, si ActiveCell.value = [Tout texte à]. Par exemple, s'il a les lettres ABC ou HLJHJQUSYGJ ou JUST A.
Utilisez la fonction Instr (), comme, si instr (ActiveCell.value, "ABC"), alors code>. Cela retournera true si "ABC" se trouve dans n'importe quel endroit de la valeur de la cellule. Si Instr (ActiveCell.Value, "ABC") = 1, alors code> sera testé si la valeur commence par "ABC".
J'ai trouvé le code très simple qui était le plus essentiel. Référencer les cellules avec du texte. Ici, il est dans un code simple avec une boîte de message.
Sub Reference_Cell_if_Contains_Text()
If ActiveCell.Value > 0 Then
Msgbox("This Cell Has Something in it!")
End If
End Sub
J'ai pu écrire le code à l'aide d'un argument pour chaque / prochain argument. Voici le code:
Sub Format_Cells_if_contains_text_in_range()
Dim Cell As Range
For Each Cell In Range("G1:G200")
If Cell.Value > 0 Then
Cell.Select
Application.CutCopyMode = False
Selection.Copy
ActiveCell.Offset(0, -5).Range("A1").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
ActiveCell.Offset(0, 5).Range("A1").Select
Application.CutCopyMode = False
Selection.ClearContents
' Format Cells Orange
ActiveCell.Offset(0, -6).Range("A1:F1").Select
With Selection.Interior
.Pattern = xlSolid
.PatternColorIndex = xlAutomatic
.Color = 49407
.TintAndShade = 0
.PatternTintAndShade = 0
End With
' Format Cell Font, Size and Bold
ActiveCell.Offset(0, 1).Range("A1").Select
With Selection
.HorizontalAlignment = xlCenter
.VerticalAlignment = xlCenter
.WrapText = True
.Orientation = 0
.AddIndent = False
.IndentLevel = 0
.ShrinkToFit = False
.ReadingOrder = xlContext
.MergeCells = False
End With
With Selection.Font
.Name = "Arial"
.Size = 10
.Strikethrough = False
.Superscript = False
.Subscript = False
.OutlineFont = False
.Shadow = False
.Underline = xlUnderlineStyleNone
.ThemeColor = xlThemeColorLight1
.TintAndShade = 0
.ThemeFont = xlThemeFontNone
End With
Selection.Font.Bold = True
End If
Next Cell
End Sub
Recherche
gamme.Find code> etplage.findnext code>.Je serais très reconnaissant de connaître la syntaxe de "si la cellule contient un texte"