The Alexsandra Spaces

Internet - Sicurezza - Excel & VBA

Macro per Righe e Colonne

Pubblicato da Alexsandra su Aprile 22, 2007

=> Elimina riga vuota
Sub elimina_riga_vuota()
Range(”A:A”).SpecialCells(xlCellTypeBlanks).EntireRow.Delete
End Sub

=> Colorare una riga e inserire una “x” nella cella
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Excel.Range, Cancel As Boolean)
riga = ActiveCell.Row
colonna = ActiveCell.Column
If riga < 4 Then MsgBox “Riga non permessa”: [D4].Select: Exit Sub
If colonna < 4 Then MsgBox “Colonna non permessa”: [D4].Select: Exit Sub
Range(Cells(ActiveCell.Row, 4), Cells(ActiveCell.Row, 11)).Select
ActiveCell.FormulaR1C1 = “x”
Selection.Font.Bold = True
colora
Range(Cells(ActiveCell.Row, 13), Cells(ActiveCell.Row, 25)).Select
colora
ActiveCell.Offset(1, -9).Select
End Sub

Private Sub colora()
With Selection.Interior
.ColorIndex = 6
.Pattern = xlSolid
End With
With Selection
.HorizontalAlignment = xlCenter
End With
End Sub

=> Conoscere il N° di riga e di colonna
Sub riga_colonna()
riga = activecell.row
colonna = activecell.column
End Sub

=> Contare le righe in un Range
Sub conta_righe()
[F1].Select
ActiveCell.CurrentRegion.Select
conta = Selection.Count
MsgBox “La selezione contiene ” & Selection.Rows.Count & ” righe.”
End Sub

=> Elimina celle vuote
Sub elimina celle vuote()
Range(”A:A”).SpecialCells(xlCellTypeBlanks).Delete (xlShiftUp)
End Sub

=> Nascondere una colonna
Sub nascondere_colonna()
Dim foglio As Worksheet
prova = InputBox(”Qual è la colonna da nascondere ?”)
prova2 = prova & “:” & prova
For Each foglio In Worksheets
foglio.Select
Columns(prova2).Select
Selection.EntireColumn.Hidden = True
Next
End Sub

=> Bloccare la prima riga di un foglio
Sub Blocca_riga()
Rows(”2:2?).Select
ActiveWindow.FreezePanes = True
End Sub

=> Cancella riga da tutti i fogli
Sub cancella()
Dim foglio As Worksheet
alex = ActiveCell
For Each foglio In Worksheets
foglio.Select
Rows(alex).Select
ActiveCell().EntireRow.Delete
ActiveCell.Select
Next
End Sub

=> Evidenzia dati doppi in una colonna
Private Sub CommandButton1_Click()
For I = 3 To 20000
presente = Cells(I, 3)
If presente = “” Then GoTo Ultimo
Next I
Ultimo:
Range(Cells(3, 1), Cells(I + 2, 6)).Select
Selection.Sort Key1:=Range(”c3″), Order1:=xlAscending, Header:=xlGuess, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom

Range(”a1″).Select
For Riga = 3 To I - 1
fattura = Cells(Riga, 3)
doppia = Cells(Riga + 1, 3)
If fattura = doppia Then Range(Cells(Riga + 1, 1), Cells(Riga + 1, 4)).Interior.ColorIndex = 6
Next Riga
End Sub

=> Cancella dati doppi in una colonna
Private Sub CommandButton2_Click()

For I = 3 To 20000
presente = Cells(I, 3)
If presente = “” Then GoTo Ultimo
Next I
Ultimo:
Range(Cells(3, 1), Cells(I + 2, 6)).Select
Selection.Sort Key1:=Range(”c3″), Order1:=xlAscending, Header:=xlGuess, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom

Range(”a1″).Select
For Riga = 3 To I - 1
fattura = Cells(Riga, 3)
doppia = Cells(Riga + 1, 3)
If fattura = doppia Then Range(Cells(Riga + 1, 1), Cells(Riga + 1, 4)).Rows.EntireRow.Delete
Next Riga
End Sub

2 Risposte a “Macro per Righe e Colonne”

  1. Alexsandra Dice:

    è un problema di formattazione del forum, ti trasforma i caratteri. in quelle righe il problema sono gli apici (”C3″ ;)

    provo a vedere se riesco a cambiare la formattazione dei caratteri, le macro le ho testate tutte.

    Anzi credo che questa faccia proprio al caso tuo, evidenzia la riga con i valori doppi rispetto alle colonne B e C, basta solo cambiare l’intervallo e dovresti aver risolto.

  2. Andrea Dice:

    Ciao, ho un problema forse puoi aiutarmi.
    Ho esigenza di inserire dati da un foglio ad un preventivo, finora tutto ok, al momento di inserire dati della stessa categoria sul preventivo, sono in grado di di inserirli nelle righe da me volute, ma non riesco a far scalare una riga al momento che i dati occupano le righe da me assegnata!! cioè qualora il primo dato inserito sulla prima riga non deve essere inserito, il dato successivo occupa comunque la riga sottostante, come fare in mancanza del dato nella prima riga a far scalare quelli succesivi in alto? Scusa la poca chiarezza e forse la semplicità ma sono in difficolta,
    ti ringrazio a presto
    Andrea

Lascia una Risposta

XHTML: Puoi usare questi tag: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>