Sto cercando un modo per inserire testo sullo sfondo di una cella, in modo che possa ancora inserire i numeri sopra quel testo - simile a una filigrana ad eccezione di una singola cella. Qualche modo per farlo, preferibilmente senza usare una macro (ma aperta anche a queste soluzioni)?Inserimento di testo sullo sfondo di una cella
risposta
- Selezionare la cella in cui si desidera rendere lo sfondo.
- Fare clic su "Inserisci" e inserire una forma rettangolare in quella posizione.
- Fare clic destro sulla forma - selezionare "Formato forma"
- Goto "Fill" e selezionare "Immagine o un riempimento texture"
- Goto “Inserisci file da” opzione
- selezionare l'immagine che si desidera rendere l'acqua -Mark
- immagine apparirà nel luogo di forma rettangolare
- Ora cliccate sulla immagine “click destro” e selezionare Formato immagine
- Goto “Fill” e aumentare la trasparenza come richiesto a guardare come un “Water Mark "o luce beckgro und
- Anche questo verrà stampato.
simili Andrews postale, questa è la versione VBA che formatta correttamente la forma e permette anche la selezione diretta di cellule.
codice del modulo:
Sub watermarkShape()
Const watermark As String = "watermark"
Dim cll As Range
Dim rng As Range
Dim ws As Worksheet
Dim shp As Shape
Set ws = Sheet1
Set rng = ws.Range("A1:F10") 'Set range to fill with watermark
Application.ScreenUpdating = False
For Each shp In ws.Shapes
shp.Delete
Next shp
For Each cll In rng
Set shp = ws.Shapes.AddShape(msoShapeRectangle, 5, 5, 5, 5)
With shp
.Left = cll.Left
.Top = cll.Top
.Height = cll.Height
.Width = cll.Width
.Name = cll.address
.TextFrame2.TextRange.Characters.Text = watermark
.TextFrame2.TextRange.Font.Name = "Tahoma"
.TextFrame2.TextRange.Font.Size = 8
.TextFrame2.VerticalAnchor = msoAnchorMiddle
.TextFrame2.TextRange.ParagraphFormat.Alignment = msoAlignCenter
.TextFrame2.WordWrap = msoFalse
.TextFrame.Characters.Font.ColorIndex = 15
.TextFrame2.TextRange.Font.Fill.Transparency = 0.35
.Line.Visible = msoFalse
' Debug.Print "'SelectCell (""" & ws.Name & """,""" & cll.address & """)'"
.OnAction = "'SelectCell """ & ws.Name & """,""" & cll.address & """'"
With .Fill
.Visible = msoTrue
.ForeColor.ObjectThemeColor = msoThemeColorBackground1
.Transparency = 1
.Solid
End With
End With
Next cll
Application.ScreenUpdating = True
End Sub
Sub SelectCell(ws, address)
Worksheets(ws).Range(address).Select
End Sub
UPDATE:
l'esempio seguente assegna una filigrana l'indirizzo di cella a righe dispari e lascia i filari come la costante watermark
. Questo è un esempio basato sul mio commento secondo il quale ogni cella può essere assegnata a qualsiasi filigrana basata su qualsiasi conditione tu voglia.
Option Explicit
Sub watermarkShape()
Const watermark As String = "watermark"
Dim cll As Range
Dim rng As Range
Dim ws As Worksheet
Dim shp As Shape
Set ws = Sheet1
Set rng = ws.Range("A1:F10") 'Set range to fill with watermark
Application.ScreenUpdating = False
For Each shp In ws.Shapes
shp.Delete
Next shp
For Each cll In rng
Set shp = ws.Shapes.AddShape(msoShapeRectangle, 5, 5, 5, 5)
With shp
.Left = cll.Left
.Top = cll.Top
.Height = cll.Height
.Width = cll.Width
.Name = cll.address
If cll.Row Mod 2 = 1 Then
.TextFrame2.TextRange.Characters.Text = cll.address
Else
.TextFrame2.TextRange.Characters.Text = watermark
End If
.TextFrame2.TextRange.Font.Name = "Tahoma"
.TextFrame2.TextRange.Font.Size = 8
.TextFrame2.VerticalAnchor = msoAnchorMiddle
.TextFrame2.TextRange.ParagraphFormat.Alignment = msoAlignCenter
.TextFrame2.WordWrap = msoFalse
.TextFrame.Characters.Font.ColorIndex = 15
.TextFrame2.TextRange.Font.Fill.Transparency = 0.35
.Line.Visible = msoFalse
' Debug.Print "'SelectCell (""" & ws.Name & """,""" & cll.address & """)'"
.OnAction = "'SelectCell """ & ws.Name & """,""" & cll.address & """'"
With .Fill
.Visible = msoTrue
.ForeColor.ObjectThemeColor = msoThemeColorBackground1
.Transparency = 1
.Solid
End With
End With
Next cll
Application.ScreenUpdating = True
End Sub
Sub SelectCell(ws, address)
Worksheets(ws).Range(address).Select
End Sub
Esiste un VBA per personalizzare il testo inserito nello sfondo di ogni cella? Il prodotto finale di questo è fantastico, vorrei solo la possibilità di personalizzare ciò che il testo dice per ogni cella. –
La riga '.TextFrame2.TextRange.Characters.Text = watermark' assegna costante' watermark' a tutte le celle. Basta cambiare la riga '.TextFrame2.TextRange.Characters.Text =" Some Text "' a qualunque testo tu voglia basato sull'intervallo di celle/indirizzo – user3357963
+1 per l'impostazione dell'azione click per selezionare la cella sottostante. – user2140261
digitare il testo in una cella da nessuna parte. Copia e verrà salvato negli appunti. Inserisci una forma rettangolare ovunque. Fare clic con il tasto destro e selezionare "Invia a back". Questo assicurerà che sarà in background. Fare clic con il tasto destro e "Formatta forma". Fare clic sulla scheda "Riempi" e fare clic su "immagine o riempimento trama". Al "Inserisci da" scegli "appunti". Ora qualsiasi testo copiato negli appunti sarà nella forma rettangolare. Ridimensiona la forma per adattarla alle celle che desideri. Regola comunque come ad esempio rimuovi le linee rettangolari, aggiungi ombre, cambia font, rimuovi sfondo ecc.
È possibile utilizzare un formato numerico personalizzato per specificare un testo grigio chiaro da visualizzare quando il valore della cella è 0-Color15
fa un bel colore filigrana:
[Black]000000;;[Color15]"(order number)";@
Nessun forme disordinato, nessun VBA e la filigrana scompare quando il valore è effettivamente riempito.
E se è assolutamente necessario farlo in VBA, allora si può facilmente scrivere una funzione che costruisce la stringa di formato sulla base di alcuni parametri:
Public Function BuildWatermarkFormat(ByVal watermarkText As String, Optional ByVal positiveFormat As String = "General", Optional ByVal negativeFormat As String = "General", Optional ByVal textFormat As String = "General") As String
BuildWatermarkFormat = positiveFormat & ";" & negativeFormat & ";[Color15]" & Chr(34) & watermarkText & Chr(34) & ";" & textFormat
End Function
E allora si può fare:
myCell.NumberFormat = BuildWatermarkFormat("Please enter a value")
myCell.Value = 0
E puoi ancora fornire formati personalizzati per i valori positivi/negativi secondo le tue esigenze; l'unica cosa è che 0
è riservato per "nessun valore" e attiva la filigrana.
myCell.NumberFormat = BuildWatermarkFormat("Please enter a value", "[Blue]#,##0.00_)", "[Red](#,##0.00)")
myCell.Value = -25
Non è possibile ottenere lo stesso risultato con una regola di formattazione condizionale? Potresti quindi essere ancora in grado di utilizzare formati numerici personalizzati, ottenere gli stessi effetti e utilizzare una regola che cerchi celle vuote rispetto a celle con un valore pari a 0. –
Anche se, in pratica, non sono sicuro che ci sia un buono modo di includere il testo con una regola di formattazione condizionale :). –
@BrandonBarney bene si potrebbe, specificando un .... numero formato ;-) –
- 1. Inserimento di un'immagine di sfondo
- 2. Inserimento di JToggleButton con JPanel all'interno di una cella JTable
- 3. Sottoclasse UIView di iOS, disegnare il testo trasparente sullo sfondo
- 4. Apertura WebView sullo sfondo
- 5. Assegnazione di un colore di sfondo a una cella, data una condizione su un'altra cella
- 6. Disegna un semicerchio sullo sfondo di una vista
- 7. Ricarica dati di UITableView sullo sfondo
- 8. Inserimento di pulsanti e collegamenti sullo script particles.js (Z-index)
- 9. Il testo sullo spinner è bianco su sfondo bianco
- 10. Colore sfondo di ritorno della cella selezionata
- 11. Come impostare il colore di sfondo di una cella in una tabella MigraDoc
- 12. Inserimento di schede in una casella di testo
- 13. Utilizzo del selenio sullo sfondo
- 14. CSS Imposta colore sfondo cella tabella utilizzando testo all'interno cella tabella
- 15. Spingere l'applicazione Android sullo sfondo
- 16. Inserimento di testo nella casella di testo di un'altra applicazione
- 17. Testo verticale in IE all'interno di una cella di tabella
- 18. Come cambiare il colore di sfondo di una cella in Devexpress Grid?
- 19. inserimento di blocchi di testo in haml
- 20. Impostazione colore sfondo cella fullcalendar
- 21. Ricezione notifica UIPasteboard (generalPasteboard) mentre sullo sfondo
- 22. Calling dialogo Android senza dissolvenza sullo sfondo
- 23. Aggiunta di testo a una cella in Excel tramite VBA
- 24. FPDF: cambia il colore del testo all'interno di una cella?
- 25. Il testo del disegno sullo sfondo di vetro diventa sfocato quando Alpha viene abbassato
- 26. Selettore CSS per campi di inserimento testo?
- 27. Riutilizzo cella con campo di testo
- 28. Android EditText si fonde sullo sfondo
- 29. Caricamento di più immagini con Picasso sullo sfondo
- 30. La connettività di Multipeer si disconnette sullo sfondo
+1 Mi sono sempre chiesto perché qualcuno vorrebbe mettere una foto sullo sfondo di una cella. Intelligente. ... in realtà è solo una forma un po 'trasparente sulla parte superiore della cella, giusto? Ciò non rende la selezione della cella un po 'di dolore? –
Questo è ottimo per le immagini - c'è un modo per inserire il testo come sfondo? –