Ich muss Leerzeichen am Anfang, Ende der Zeichenfolge löschen und String Proper Case machen.Excel VBA Zwei Funktionen in einem Array
Ich habe zwei Skripte gefunden:
Sub Function01()
Dim arrData() As Variant
Dim arrReturnData() As Variant
Dim rng As Excel.Range
Dim lRows As Long
Dim lCols As Long
Dim i As Long, j As Long
Range("R1", Range("R1").End(xlDown)).Select
lRows = Selection.Rows.Count
lCols = Selection.Columns.Count
ReDim arrData(1 To lRows, 1 To lCols)
ReDim arrReturnData(1 To lRows, 1 To lCols)
Set rng = Selection
arrData = rng.Value
For j = 1 To lCols
For i = 1 To lRows
arrReturnData(i, j) = Trim(arrData(i, j))
///ADDING HERE(read below)
Next i
Next j
rng.Value = arrReturnData
Set rng = Nothing
End Sub
die Räume auf Zeichenfolge und ein anderes Skript löscht:
Sub ChangeCase()
Dim Rng As Range
On Error Resume Next
Err.Clear
Application.EnableEvents = False
For Each Rng In Selection.SpecialCells(xlCellTypeConstants, _
xlTextValues).Cells
If Err.Number = 0 Then
Rng.Value = StrConv(Rng.Text, vbProperCase)
End If
Next Rng
Application.EnableEvents = True
End Sub
Welche macht Proper Case von String. Diese beiden Skripte arbeiten an Bereichen, um alle Nicht-Null-Zellen in der R-Spalte auszuwählen. Ich muss in der ersten Funktion ein zweites Skript machen.
Hinzufügen dieser Code in der ersten Skript (/// ADDING HIER) Punkt: arrReturnData (i, j) = StrConv (arrData (i, j), vbProperCase)
machen meine Ausgabe im korrekten Fall aber mit Leerzeichen. Können Sie vorschlagen, wie Sie zwei Skriptfunktionen in einem Schlaganfall machen?
Vielen Dank!
Ganz einfach: 'arrReturnData (i, j) = StrConv (Trimmen (arrData (i, j)), vbProperCase) ' – Rory
Wenn Sie es in String ohne Leerzeichen zwischen Wörtern konvertieren möchten, dann müssen Sie die Leerzeichen mit VbNullString nach ProperCasing ersetzen, Ersetzen (StrnConv (..), Leerzeichen (1), vbnullstring) – tsolina
@Rory Vielen Dank jetzt ist klar, wie man Funktionen für mich verbindet. –