Introduceți o pauză de linie în celula înfășurată prin cod (Programare, Vba, Excel)

Sarika.S a intrebat.

Este posibil să se insereze pauză de linie într-o celulă înfășurată prin cod VBA? (similar cu a face AltEnter atunci când se introduc date manual)

Am setat proprietatea wrap text a celulei la True prin intermediul codului VBA și introduc date în ea tot prin cod VBA.

Comentarii

  • Poate că este timpul să acceptăm că răspunsul este probabil nu. –  > Por mattboy.
  • Dacă răspunsul meu nu a corespuns întrebării tale (inserarea unei pauze de linie într-o celulă înfășurată prin cod VBA?), atunci sunt confuz în ceea ce privește ceea ce dorești de fapt. Poți să te rog să dezvolți? –  > Por brettdj.
  • @brettdj: Nu am putut insera pauze de linie în șirul de caractere manual. Trebuie să verific câte cuvinte vor fi găzduite în două rânduri. –  > Por Sarika.S.
  • Aceasta este o extindere a cerinței față de ceea ce a cerut întrebarea dvs. reală. –  > Por brettdj.
4 răspunsuri
brettdj

Da, echivalentul VBA al AltEnter este de a utiliza un caracter de întrerupere a liniei:

ActiveCell.Value = "I am a " & Chr(10) & "test"

Rețineți că acest lucru setează automat WrapText la True.

Dovada:

Sub test()
Dim c As Range
Set c = ActiveCell
c.WrapText = False
MsgBox "Activcell WrapText is " & c.WrapText
c.Value = "I am a " & Chr(10) & "test"
MsgBox "Activcell WrapText is " & c.WrapText
End Sub

Comentarii

  • +1 . Dacă aș fi știut despre acest subiect, aș fi inclus acest mesaj în celălalt subiect al meu… LOL. A trebuit să rescriu totul de la zero. –  > Por Siddharth Rout.
  • Când se termină o linie, trebuie să pună automat pauze de linie la sfârșit 🙂 –  > Por Sarika.S.
  • Nu, nu am obținut soluția din asta. Mulțumesc pentru răspunsul dumneavoastră –  > Por Sarika.S.
  • Rețineți că caracterul de întrerupere a liniei funcționează numai dacă celula este formatată ca Wrap Text –  > Por jjz.
  • se pare că word vba utilizează de fapt Chr(11) și nu Chr(10) –  > Por user2867432.
Andy Brown

De asemenea, ați putea utiliza vbCrLf care corespunde cu Chr(13) & Chr(10).

Comentarii

  • Acest lucru introduce DOUĂ combinații CR/LF în Excel (nu le puteți vedea până când nu încercați să centrați cele două linii în celulă, apoi observați că prima linie este descentrată). Este mai bine să folosiți ControlChars.Lf. –  > Por Andy.
Origamer7

Da, există două moduri de a adăuga o alimentare de linie:

  1. Utilizați funcția existentă din VBA vbCrLf în șirul pe care doriți să adăugați un salt de linie, astfel:

    Dim text As String

    text = „Hello” & vbCrLf & „World!”

    Worksheets(1).Cells(1, 1) = text

  2. Utilizați Chr() și treceți caracterele ASCII 13 și 10 pentru a adăuga un salt de linie, după cum se arată mai jos:

    Dim text As String

    text = „Hello” & Chr(13) & Chr(10) & „World!”

    Worksheets(1).Cells(1, 1) = text

În ambele cazuri, veți avea același rezultat în celula (1,1) sau A1.

Linus Angel

Doar faceți Ctrl + Enter în interiorul căsuței de text

Comentarii

  • OP dorea un sfat despre cum să facă acest lucru folosind VBA, –  > Por Jazimov.
  • Ctrl + Enter nu adaugă un spațiu în celulă, ci intră în celulă fără a trece la următoarea celulă, –  > Por Davesexcel.

Tags:,