【緊急急募】エクセル得意な人ちょっと来て!!!!!
■ このスレッドは過去ログ倉庫に格納されています
セルに数字を入れたら数字と数字の間にピリオドが入るようにしたいんだよ
例えば
1→1
12→1.2
123→1.2.3
1234→1.2.3.4
12345→1.2.3.4.5
となるようにしたい
どうしたらいいの? >>2
むり
カスタムしても桁数には対応しなかった 普通に数字打ってあとから1~9を置換
んで末尾だけ消す方法なんかあるだろ Sub InsertDots()
Dim cell As Range
For Each cell In Selection.Cells
Dim val As String
val = cell.Value
Dim i As Integer
For i = 1 To Len(val) - 1
val = Left(val, i) & "." & Right(val, Len(val) - i)
Next i
cell.Value = val
Next cell
End Sub Excelマクロ:ピリオド挿入
せめてマナーは一流でありたい
Excelで以下のマクロを組んで
セルに数字を入れたら数字と数字の間にピリオドが入るようにしたいんだよ
例えば
1→1
12→1.2
123→1.2.3
1234→1.2.3.4
12345→1.2.3.4.5
となるようにしたい
どうしたらいいの?
以下は、指定された動作を実現するExcel VBAマクロの例です。
vbnet
Copy code
Sub InsertDots()
Dim cell As Range
For Each cell In Selection.Cells
Dim val As String
val = cell.Value
Dim i As Integer
For i = 1 To Len(val) - 1
val = Left(val, i) & "." & Right(val, Len(val) - i)
Next i
cell.Value = val
Next cell
End Sub
このマクロを使用するには、以下の手順に従ってください。
Excelを開き、数字が入力されたセルを選択します。
Alt+F11キーを押して、Visual Basic for Applications(VBA)エディタを開きます。
左側のProject Explorerで、マクロを作成するワークブックを選択します。
メニューから「挿入」>「モジュール」を選択します。
新しいモジュールが開かれます。ここに、上記のマクロをコピーして貼り付けます。
メニューから「ファイル」>「保存」を選択し、VBAエディタを閉じます。
Excelに戻り、数字が入力されたセルを再度選択します。
メニューから「開発」>「マクロ」を選択します。
「InsertDots」というマクロが表示されます。これを選択して実行します。 >>6
なんとかならんかった
例えば0"."0"."0"."0としても桁数が合わないと0.が余計に出たりする ChatGPTに聞いてもワザップだったからアテにしてない Excelでピリオドを追加する
Y Asakuya
Excelでセルに数字を入れたら数字と数字の間にピリオドが入るようにしたい
Excelで数字と数字の間にピリオドを入れるには、次の手順を実行します。
数字を入力したいセルを選択します。
セル内でピリオドを挿入したい場所にカーソルを合わせます。
キーボードで「Alt + 0,1,8,3」の順に押します。
カーソルがピリオドに変わります。
残りの数字を入力します。
これにより、入力した数字と数字の間にピリオドが挿入されます。ただし、この方法はセル内のすべての数字に対して手動で行う必要があります。自動的にすべての数字に対してピリオドを挿入するには、VBAマクロを使用する必要があります。 >>13
だからワザップやめろ
オルトキーでなんとかなるわけねーだろ
考えてレスしろやタコ >>15
関数だと別の入力セル準備しなきゃいかんだろ?
できればそのセルで完結させたい
というか関数としても表示設定指定できんだろ VBAあんま知らんけど文字数数えてその文字数分繰り返しで.を入れる関数作れないかな 他の入力セルを作らずにそのセルだけで完結させるのは無理やね >>19
最終手段はそれしかないか
入力規則とかVBAとかでなんとかならんか? VBAにしたいなら毎回起動めんどくさいだろうしアドイン作れ >>24
だめ
なんでピリオド挿入の話してんのにn番目削除の話してんの?
表示形式の0.なら対応できないよそれ
百歩譲っても桁数なんて毎回バラバラなんだが >>25
作り方分からんわ
そもそもアドインとか作ったことすらない >>28
別にコンマじゃなくてもカンマでもいい
数字を区切りたいんだよ
入力するときいちいち1.2.3って入れるの面倒だろ?
123と入れたら勝手に区切ってくれると楽だろ?
そういうことよ 別の道探したほうがよさそう感あるよね(ただの感覚ですまんけど) >>30
仕方ないか
俺だけ理解して俺だけ楽すりゃいいだけの話だもんな
そうするわ >>31
セルが最小単位なので普通はセルによって区切るだろうからね
csvだよ Function test(hoge As Variant)
hoge = VBA.CStr(hoge)
Dim i As Long
Dim a()
ReDim Preserve a(Len(hoge) - 1)
For i = 0 To Len(hoge) - 1
a(i) = Mid(hoge, i + 1, 1)
Next
test = Join(a, ",")
End Function これでどう?
Private Sub Worksheet_Change(ByVal Target As Range)
Dim inputString As String
Dim outputString As String
Dim i As Integer
On Error GoTo endline
If Target.Cells.Count > 1 Then Exit Sub
If IsNumeric(Target.Value) Then
inputString = CStr(Target.Value)
outputString = ""
For i = 1 To Len(inputString)
outputString = outputString & Mid(inputString, i, 1)
If i < Len(inputString) Then
outputString = outputString & "."
End If
Next i
Application.EnableEvents = False
Target.Value = outputString
Application.EnableEvents = True
End If
endline:
Application.EnableEvents = True
End Sub なんやこんだけでええやんけ最近のは便利やな
=TEXTJOIN(",",TRUE,MID(A1,SEQUENCE(LEN(A1)),1)) ■ このスレッドは過去ログ倉庫に格納されています