戻る  □一般操作のサロン  □ 使用方法  □ 新着記事  □ 新規に質問する!  □ トピック一覧  □ 検索  □ 過去ログ
[ 最新記事及び返信フォームをトピックトップへ ]
このトピック参照回数 :
123456123789が1232 4561 7891のように分けるマクロ

    [196130] 123456123789が1232 4561 7891のように分けるマクロ-

    ■親トピック/記事引用/メール受信=OFF■

    □投稿者/ おやじ -(2024/04/08(15:08))
    □U R L/

      おじさんからの質問です。
      マクロで以下の事が解決できません。
      お教えお願いします。

      a=123456123789
      aの数字を3個ずつ区切り
      n=len(a)
      a1=mid(a,1,3)
      a2=mid(a,4,3)
      a3=mid(a,8,3)
      a4=mid(a,11,3)

      moji=Array(a1,a2,a3,a4)
      この数字を数字種類ごとに

      moji=a12 a21 a41

      上の数字はどのような数字が
      入るかわかりません。
      (3個ずつにで分けられる数字で
      3桁,6桁,9桁,12桁までです)

      上の数字では結果
      moji=1232 4561 7891
      このようになるよう表示




    [196131] Re[1]: 123456123789が1232 4561 7891のように分けるマクロ-

    記事引用/メール受信=OFF■

    □投稿者/ 半平太 -(2024/04/08(19:19))
    □U R L/
      >moji=Array(a1,a2,a3,a4)
      >この数字を数字種類ごとに
      
      >moji=a12 a21 a41
      この部分が何を言っているのか分からないなぁ・・
      何故、同じ変数の「moji」が使われるのですか?
      
      >上の数字はどのような数字が
      >入るかわかりません。
      上の数字とは具体的にどの数字ですか?
      
      あと、こんなコードあり得ないでしょう?
        ↓
      >moji=a12 a21 a41
      意味のあるコードを示すか、
      フムフムと思える説明がないと訳が分からないです。




    [196132] Re[2]: 123456123789が1232 4561 7891のように分けるマクロ-

    記事引用/メール受信=OFF■

    □投稿者/ kazuo -(2024/04/08(20:31))
    □U R L/
      私には以下のように読めました。
      たたき台としていかがでしょうか?
      
      Sub tatakidai()
          Const DIV = 3
          Dim a As String
          Dim aa()
          Dim n As Long
          Dim moji As String
          Dim ss() As String
          
          a = "123456123789"
      '    a = "123456123"
          moji = "a12 a21 a41"
      '    moji = "a12 a41 a21 a31"
          n = Len(a)
          ReDim aa(1 To n / DIV)
          For n = 1 To UBound(aa)
              aa(n) = Mid(a, 1 + DIV * (n - 1), DIV)
          Next
          ss = Split(moji)
          moji = ""
          For n = 0 To UBound(ss)
              moji = moji & hennkann(ss(n), aa)
          Next
          moji = Mid(moji, 2)
          Debug.Print moji
      End Sub
      
      Private Function hennkann(s As String, aa()) As String
          On Error Resume Next
          hennkann = " " & aa(Mid(s, 2, 1)) & Right(s, 1)
          On Error GoTo 0
      End Function
      


      この記事にはVBAのコードが含まれています。

      緑の太文字→注釈
      茶色の太文字→条件分岐
      赤の太文字→ループ
      青の太文字→その他




    [196135] Re[3]: 123456123789が1232 4561 7891のように分けるマクロ-

    記事引用/メール受信=OFF■

    □投稿者/ おやじ -(2024/04/09(20:58))
    □U R L/

      お教えありがとうございます。
      私の思いが伝わっていないと思います。申し訳ありません。

      a=123456123789を3個ずつに分け
      moji=Array(a1,a2,a3,a4)
      この数字を3個ずつに分けて

      マクロ結果が
      moji=a12 a21 a41 このようにしたいのです。
      aの場合は
      moji=1232 4561 7891
      a12とはa1の数字が2個 a21の数字が1個 a41の数字が1個あると言う意味です。

      伝えることがむつかしいです。
      moji=a12a21a41これでもいいのですが、moji=123245617891
      1個ずつは調べられるのですが、同時にmoji=のように同時に調査する方法が
      分からないのです。




    [196136] Re[4]: 123456123789が1232 4561 7891のように分けるマクロ-

    記事引用/メール受信=OFF■

    □投稿者/ 半平太 -(2024/04/09(23:32))
    □U R L/
      >1個ずつは調べられるのですが、同時にmoji=のように同時に調査する方法が
      >分からないのです。
      その部分がちょっと分からないです。
       1個ずつ調べるのは面倒なので、
       コード1行で mojiに"1232 4561 7891"と入れる方法はないか?
      
      と言う質問なのでしょうか?
      
      因みにエクセルのバージョンは何ですか?(複数ある場合は古い方)




    [196137] Re[5]: 123456123789が1232 4561 7891のように分けるマクロ-

    記事引用/メール受信=OFF■

    □投稿者/ おやじ -(2024/04/10(07:55))
    □U R L/

      返答ありがとうございます。
      エクセルは2021です。
        mojiに"1232 4561 7891"と入れる方法はないか?
      そうです。 コード1行でなくてもいいのです。

      123456123789の文字列をマクロ結果後に
      1232 4561 7891と分けるマクロの書き方を知りたいのです。




    [196140] Re[6]: 123456123789が1232 4561 7891のように分けるマクロ-

    記事引用/メール受信=OFF■

    □投稿者/ hatena -(2024/04/10(10:35))
    □U R L/

      ご希望のことを、
      下記のように解釈しましたが、あってますか。

      "123456123789"を3桁ずつに分割する。

      "123","456","123","789"

      それぞれの文字列別の個数を調べる。
      "123" 2個
      "456" 1個
      "789" 1個

      文字列の後に個数を付加して連結して出力
      "1232 4561 7891"


      ちがうなら、どこがどう違うか指摘してください。




    [196141] Re[7]: 123456123789が1232 4561 7891のように分けるマクロ-

    記事引用/メール受信=OFF■

    □投稿者/ おやじ -(2024/04/10(14:22))
    □U R L/

      ありがとうございます。
      その通りです。
      よろしくお願いいたします。




    [196143] (削除)-

    記事引用/メール受信=OFF■

    □投稿者/ / -(2024/04/11(11:59))
    □U R L/

      この記事は削除されました




    [196144] Re[9]: (削除)-

    記事引用/メール受信=OFF■

    □投稿者/ hatena -(2024/04/11(12:12))
    □U R L/
      いろいろな方法が考えられます。
      連想配列を使うとか、、、
      なるべくシンプルなロジックのものを提示しておきます。
      
      ここで、
      コードを入れたものを投稿するとなぜかエラーになって投稿できないので、
      ロジックを提示しておきますので、ご自身でコード化してください。
      
      与えられた文字列(a="123456123789")の文字数をLen関数で取得
      与えられた文字列(a="123456123789")から左3文字を取り出して変数tに代入
      与えられた文字列aからReplace関数でtを""に置換
      置換前の文字数から置換後の文字数を引いて3で整数除算するとtの個数
      tの後に個数と半角空白を付加して、結果文字列(moji)に追加
      
      これをDo Loopステートメントで与えられた文字列aが""になるまで繰り返し処理
      
      以上
      
      
      


      この記事にはVBAのコードが含まれています。

      緑の太文字→注釈
      茶色の太文字→条件分岐
      赤の太文字→ループ
      青の太文字→その他




    [196145] Re[10]: (削除)-

    記事引用/メール受信=OFF■

    □投稿者/ おやじ -(2024/04/11(16:36))
    □U R L/

      私の能力では、難しくてコード化できません。
      コード投稿が、エラーになるようなら
      すいませんが、そのコードをメモ帳文で
      投稿できないでしょうか?
      申し訳ありません。




    [196146] 123456123789が1232 4561 7891のように分けるマクロ-

    記事引用/メール受信=OFF■

    □投稿者/ 半平太 -(2024/04/11(17:01))
    □U R L/
      アップロードエラーを避ける為、
      とりあえず ただの文章をアップする。
      
      その後、投稿を編集する形でコードをアップしてみる。
      
      <編集でコードをアップしてみた>
      
      駄目ですねー
      以下で拒否されます。
       ↓
      The server refuse to browse the page.
      The URL or value may not be correct. Please confirm the value.
      




    [196147] Re[12]: 123456123789が1232 4561 7891のように分けるマクロ-

    記事引用/メール受信=OFF■

    □投稿者/ hatena -(2024/04/11(18:03))
    □U R L/

      コードを全角に変換してアップしてみました。
      半角に変換してから、VBA画面に貼り付けてください。

      Public Sub Test()
          Dim a As String
          Dim l As Long
          Dim t As String
          Dim moji As String
          a = W123456123789W
              
          Do Until a = WW
              l = Len(a)
              t = Left(a, 3)
              a = Replace(a, t, WW)
              moji = moji & t & (l − Len(a)) \ 3 & W W
          Loop
          
          moji = Trim(moji)
          Debug.Print moji
      End Sub




    [196148] Re[13]: 123456123789が1232 4561 7891のように分けるマクロ-

    記事引用/メール受信=OFF■

    □投稿者/ hatena -(2024/04/11(18:16))
    □U R L/

      全角から半角への変換は、たいていのテキストエディターでできます。

      そのようなエディターをインストールしてない場合は、下記のサイトで変換できます。

      h ttps://so-zou.jp/web-app/text/fullwidth-halfwidth/




    [196149] Re[14]: 123456123789が1232 4561 7891のように分けるマクロ-

    記事引用/メール受信=OFF■

    □投稿者/ マナ -(2024/04/11(20:01))
    □U R L/
      一例
      
      Sub test()
          Dim dic As Object, k, i As Long
          Dim ss As String, s As String
          Dim moji As String
          
          ss = "123456123789"
          
          Set dic = CreateObject("scripting.dictionary") 
      
          For i = 1 To Len(ss) Step 3
              s = Mid(ss, i, 3)
              dic(s) = dic(s) + 1
          Next
          For Each k In dic
              moji = moji & " " & k & dic(k)
          Next
          
          MsgBox Mid(moji, 2)
          
      End Sub


      この記事にはVBAのコードが含まれています。

      緑の太文字→注釈
      茶色の太文字→条件分岐
      赤の太文字→ループ
      青の太文字→その他




    [196150] Re[15]: 123456123789が1232 4561 7891のように分けるマクロ-

    解決!!ありがとうございました! / 記事引用/メール受信=OFF■

    □投稿者/ おやじ -(2024/04/11(20:10))
    □U R L/

      hatenaさん、マナさんありがとうございました。
      お二人さんのコード確認しました。
      念願がかないました。




    [196151] Re[16]: 123456123789が1232 4561 7891のように分けるマクロ-

    記事引用/メール受信=OFF■

    □投稿者/ マナ -(2024/04/11(20:17))
    □U R L/

      ↓のような場合、期待する結果は?

      "123451236789"





    [196152] Re[17]: 123456123789が1232 4561 7891のように分けるマクロ-

    記事引用/メール受信=OFF■

    □投稿者/ おやじ -(2024/04/11(21:36))
    □U R L/

      "123451236789"
      このようには数字が出ません
      3個同じ数字が順番に出るのです。上のような数字は出ないのです。
      ありがとうございました。終わります。



このトピック内容の全ページ数 / [0]

このトピックに書きこむ
Name/
E-Mail/

└>このツリーのレス記事をメールで受信しますか? YES/ NO/
Title/
URL/
Comment/ 通常モード->  図表モード-> (←の場合適当に改行を入れて下さい)
タグが使用できます。例 ⇒ <font color="blue">文字</font>
解決!!ありがとうございました! 解決       保留中です・・・ 保留        迷宮入りorほかあたって見ます・・ 迷宮入       すいませ〜ん。誰か〜! Help! ←※回答者専用
解決したらチェック       保留(コードテスト中など・・)         解決不可orレスが全く付かなくてほかのサイトに行くときなど・・
削除キー/
(半角8文字以内) 


- Child Forum -
Edit:ゆう-G