jak przesuwać tekst w tej samej komórce lub ponownie układać w programie Excel? - Excel

Mam arkusz i chcę zmienić pozycję tekstu w komórce na przykład:

cell A                 | Cell B
----------------------------------------------
hd photo this is my    | this is my hd photo
-----------------------------------------------
pen this is my         | this is my pen
------------------------------------------------
your name what is      | what is your name

Mam wartości komórek A i chcę je porównać do komórki B. Mam nadzieję, że rozumiesz moje pytanie. Dzięki

Odpowiedzi:

1 dla odpowiedzi № 1

Wypróbuj następującą funkcję zdefiniowaną przez użytkownika (UDF):

Public Function rotate(s As String, Kount As Long) As String
ary = Split(s, " ")
ReDim bry(0 To UBound(ary))
j = 0

For i = Kount To UBound(ary)
bry(j) = ary(i)
j = j + 1
Next i

For i = 0 To Kount - 1
bry(j) = ary(i)
j = j + 1
Next i

rotate = Join(bry, " ")
End Function

Na przykład:

wprowadź opis obrazu tutaj

Pierwszy argument to komórka zawierająca oryginalny tekst, a drugi argument to liczba słów, które należy przesunąć na koniec frazy.

Funkcje zdefiniowane przez użytkownika (UDF) są bardzo łatwe w instalacji i użyciu:

  1. ALT-F11 wyświetla okno VBE
  2. ALT-I ALT-M otwiera nowy moduł
  3. wklej zawartość i zamknij okno VBE

Jeśli zapiszesz skoroszyt, UDF zostanie z nim zapisany. Jeśli używasz wersji programu Excel później niż 2003, musisz zapisać plik jako .xlsm zamiast .xlsx

Aby usunąć UDF:

  1. wywołaj okno VBE jak wyżej
  2. wyczyść kod
  3. zamknij okno VBE

Aby użyć funkcji UDF z programu Excel:

=rotate(A1,3)

Aby dowiedzieć się więcej o makrach w ogóle, zobacz:

http://www.mvps.org/dmcritchie/excel/getstarted.htm

i

http://msdn.microsoft.com/en-us/library/ee814735(v=office.14).aspx

i dla specyfiki UDF zobacz:

http://www.cpearson.com/excel/WritingFunctionsInVBA.aspx

Aby to działało, musisz włączyć makra!


Menu