メインコンテンツへスキップ

x文字ごとに特定の文字をセルに追加/挿入するにはどうすればよいですか?

次のスクリーンショットの結果を得るために、セルのXNUMX文字ごとにダッシュまたはその他の区切り文字を挿入するテキスト文字列のリストがあるとします。 特定の文字を挿入するために必要なセルが多すぎますが、ExcelでXNUMX文字ごとにダッシュを挿入する簡単な方法はありますか?

X文字ごとに特定の文字をVBAコードでセルに挿入します

Kutools for Excelを使用して、x文字ごとに特定の文字をセルに挿入します

docはすべてのx文字を挿入します1


X文字ごとに特定の文字をVBAコードでセルに挿入します

次のVBAコードを適用して、セルにXNUMX文字ごとに特定の文字を挿入できます。次のようにしてください。

1。 を押し続けます Alt + F11 Excelでキーを押すと、 アプリケーション向け Microsoft Visual Basic 窓。

2に設定します。 OK をクリックします。 インセット > モジュール、次のコードをに貼り付けます モジュール 窓。

VBAコード:x文字ごとに特定の文字をセルに挿入します

Sub InsertCharacter()
'Updateby Extendoffice
Dim Rng As Range
Dim InputRng As Range, OutRng As Range
Dim xRow As Integer
Dim xChar As String
Dim index As Integer
Dim arr As Variant
Dim xValue As String
Dim outValue As String
Dim xNum As Integer
xTitleId = "KutoolsforExcel"
Set InputRng = Application.Selection
Set InputRng = Application.InputBox("Range :", xTitleId, InputRng.Address, Type:=8)
xRow = Application.InputBox("Number of characters :", xTitleId, Type:=1)
xChar = Application.InputBox("Specify a character :", xTitleId, Type:=2)
Set OutRng = Application.InputBox("Out put to (single cell):", xTitleId, Type:=8)
Set OutRng = OutRng.Range("A1")
xNum = 1
For Each Rng In InputRng
    xValue = Rng.Value
    outValue = ""
    For index = 1 To VBA.Len(xValue)
        If index Mod xRow = 0 And index <> VBA.Len(xValue) Then
            outValue = outValue + VBA.Mid(xValue, index, 1) + xChar
        Else
            outValue = outValue + VBA.Mid(xValue, index, 1)
        End If
    Next
    OutRng.Cells(xNum, 1).Value = outValue
    xNum = xNum + 1
Next
End Sub

3。 次に、 F5 このコードを実行するためのキーを押すと、テキスト文字列内に特定の文字を挿入するデータ範囲を選択するように促すプロンプトボックスが表示されます。スクリーンショットを参照してください。

docはすべてのx文字を挿入します2

4。 をクリックします OK、次のプロンプトボックスに、特定の文字を毎回挿入する番号を入力してください。スクリーンショットを参照してください。

docはすべてのx文字を挿入します3

5。 クリックしてください OK、および続くプロンプトボックスに、テキストに追加する特定の文字を入力してください。スクリーンショットを参照してください。

docはすべてのx文字を挿入します4

6に設定します。 OK をクリックします。 OK ボタンをクリックし、プロンプトボックスに結果を出力するセルをXNUMXつ選択します。スクリーンショットを参照してください。

docはすべてのx文字を挿入します5

7。 最後に、 OK、特定の文字がXNUMX文字ごとに各テキスト文字列に挿入されています。スクリーンショットを参照してください。

docはすべてのx文字を挿入します6


Kutools for Excelを使用して、x文字ごとに特定の文字をセルに挿入します

上記のコードは、ほとんどのExcel初心者にとってはやや難しいかもしれませんが、ここでは、便利なツールを紹介します- Kutools for Excelそのと テキストを追加 この機能を使用すると、セル値の前、後、または特定の位置に特定のテキストまたは文字をすばやく追加できます。

Kutools for Excel : 300以上の便利なExcelアドインがあり、30日以内に制限なしで無料で試すことができます. 

あなたがインストールしている場合 Kutools for Excel、次のようにしてください。

1。 特定の文字を挿入するデータ範囲を選択します。

2。 次に、をクリックします クツール > テキスト > テキストを追加、スクリーンショットを参照してください:

3。 の中に テキストを追加 ダイアログボックスで、挿入する文字を指定します テキスト ボックスをクリックし、 位置から指定 セクションのテキストボックスに、文字を挿入する位置を入力します。同時に、右側のペインで結果をプレビューできます。スクリーンショットを参照してください。

docはすべてのx文字を挿入します8

ヒント:ここでは、のテキストボックスに4,8,12と入力します 指定 これは、テキスト文字列の4番目、8番目、および12番目の文字の後に特定のテキストを挿入することを示します。

4. 次に、をクリックします。 Ok or 申し込む ボタンをクリックすると、指定した文字がセル値の特定の位置に挿入されます。

docはすべてのx文字を挿入します9 2 docはすべてのx文字を挿入します10

このテキストの追加ユーティリティの詳細については、ここをクリックしてください。

今すぐExcel用のKutoolsをダウンロードして無料トライアル!


デモ:Kutools for Excelを使用して、x文字ごとに特定の文字をセルに挿入します

Kutools for Excel:300以上の便利なExcelアドインがあり、30日以内に制限なしで無料で試すことができます。 今すぐダウンロードして無料トライアル!

最高のオフィス生産性向上ツール

人気の機能: 重複を検索、強調表示、または識別する   |  空白行を削除する   |  データを失わずに列またはセルを結合する   |   数式なしのラウンド ...
スーパールックアップ: 複数の基準の VLookup    複数の値の VLookup  |   複数のシートにわたる VLookup   |   ファジールックアップ ....
詳細ドロップダウン リスト: ドロップダウンリストを素早く作成する   |  依存関係のドロップダウン リスト   |  複数選択のドロップダウンリスト ....
列マネージャー: 特定の数の列を追加する  |  列の移動  |  Toggle 非表示列の表示ステータス  |  範囲と列の比較 ...
注目の機能: グリッドフォーカス   |  デザインビュー   |   ビッグフォーミュラバー    ワークブックとシートマネージャー   |  リソースライブラリ (自動テキスト)   |  日付ピッカー   |  ワークシートを組み合わせる   |  セルの暗号化/復号化    リストごとにメールを送信する   |  スーパーフィルター   |   特殊フィルター (太字/斜体/取り消し線をフィルター...) ...
上位 15 のツールセット12 テキスト 工具 (テキストを追加, 文字を削除する、...)   |   50+ チャート 種類 (ガントチャート、...)   |   40+ 実用的 (誕生日に基づいて年齢を計算する、...)   |   19 挿入 工具 (QRコードを挿入, パスから画像を挿入、...)   |   12 変換 工具 (数字から言葉へ, 通貨の換算、...)   |   7 マージ&スプリット 工具 (高度な結合行, 分割セル、...)   |   ... もっと

Kutools for Excel で Excel スキルを強化し、これまでにない効率を体験してください。 Kutools for Excelは、生産性を向上させ、時間を節約するための300以上の高度な機能を提供します。  最も必要な機能を入手するにはここをクリックしてください...

kteタブ201905


Officeタブは、タブ付きのインターフェイスをOfficeにもたらし、作​​業をはるかに簡単にします

  • Word、Excel、PowerPointでタブ付きの編集と読み取りを有効にする、パブリッシャー、アクセス、Visioおよびプロジェクト。
  • 新しいウィンドウではなく、同じウィンドウの新しいタブで複数のドキュメントを開いて作成します。
  • 生産性を 50% 向上させ、毎日何百回もマウス クリックを減らすことができます!
Comments (3)
No ratings yet. Be the first to rate!
This comment was minimized by the moderator on the site
Creo que en vez de macros, es más fácil (aunque más largo):
1. Separar en columnas la columna A (Pestaña Datos - botón texto en columnas) y separar por Ancho fijo. Así podrás poner un separador cada 4 caracteres.
2. Elige destino desde B2 (si lo dejas predeterminado, pisará la columna A y no podrás ver el texto original).
3. Ahora viene lo bueno, ya que son 4 series de 4caracteres cada uno, en la columna G o H (considerando que los valores de 4 caracteres estén desde las columnas B a la F), colocarás la siguiente fórmula: =CONCATENAR(B2;"-";C2;"-";D2;"-";E2;"-";F2). Ahora copia esa celda al resto de valores por insertar el símbolo -.
4. Finalmente, copia toda la columna de resultados y pégala en una columna vacía pero como valor de texto (Inicio-Pegar-Valores... o con las teclas ALT+O+V+V) y listo, ya tienes tus seriales listos para pegar donde quieras sin necesidad de macros.
This comment was minimized by the moderator on the site
Muy buena esta macro, una pregunta curiosa al momento de ejecutarla los caracteres los aplica de izquierda a derecha, puede cambiarse ese orden que de derecha a izquierda? En caso de ser posible como es el proceso? Gracias.
This comment was minimized by the moderator on the site
buenas noches
necesito que me coloque el caracter cada 6, 7, 8 de un solo clic como le modifico para poder colocar mas criterios
There are no comments posted here yet
Please leave your comments in English
Posting as Guest
×
Rate this post:
0   Characters
Suggested Locations