X



【緊急急募】エクセル得意な人ちょっと来て!!!!!
■ このスレッドは過去ログ倉庫に格納されています
0001以下、5ちゃんねるからVIPがお送りします
垢版 |
2023/03/19(日) 20:44:07.208ID:lX2Uz8BE0
セルに数字を入れたら数字と数字の間にピリオドが入るようにしたいんだよ
例えば
1→1
12→1.2
123→1.2.3
1234→1.2.3.4
12345→1.2.3.4.5
となるようにしたい
どうしたらいいの?
0002以下、5ちゃんねるからVIPがお送りします
垢版 |
2023/03/19(日) 20:44:29.298ID:Z80ccdtpp
表示形式
0003以下、5ちゃんねるからVIPがお送りします
垢版 |
2023/03/19(日) 20:45:12.252ID:lX2Uz8BE0
>>2
むり
カスタムしても桁数には対応しなかった
0004以下、5ちゃんねるからVIPがお送りします
垢版 |
2023/03/19(日) 20:45:42.183ID:6MVLuFjh0
VBA
0005以下、5ちゃんねるからVIPがお送りします
垢版 |
2023/03/19(日) 20:45:57.520ID:lX2Uz8BE0
>>4
コードは?
0006以下、5ちゃんねるからVIPがお送りします
垢版 |
2023/03/19(日) 20:46:42.290ID:V46DRDJy0
表示形式でなんとかならんのか
0007以下、5ちゃんねるからVIPがお送りします
垢版 |
2023/03/19(日) 20:47:33.730ID:ATFJEKnd0
普通に数字打ってあとから1~9を置換
んで末尾だけ消す方法なんかあるだろ
0008以下、5ちゃんねるからVIPがお送りします
垢版 |
2023/03/19(日) 20:48:37.016ID:e1UrMq0q0
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
0009以下、5ちゃんねるからVIPがお送りします
垢版 |
2023/03/19(日) 20:49:16.458ID:e1UrMq0q0
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」というマクロが表示されます。これを選択して実行します。
0010以下、5ちゃんねるからVIPがお送りします
垢版 |
2023/03/19(日) 20:50:12.019ID:lX2Uz8BE0
>>6
なんとかならんかった
例えば0"."0"."0"."0としても桁数が合わないと0.が余計に出たりする
0011以下、5ちゃんねるからVIPがお送りします
垢版 |
2023/03/19(日) 20:50:38.942ID:GQ9eoZET0
有限なら
文字数を数える
あとはmidと&
0012以下、5ちゃんねるからVIPがお送りします
垢版 |
2023/03/19(日) 20:51:05.881ID:lX2Uz8BE0
ChatGPTに聞いてもワザップだったからアテにしてない
0013以下、5ちゃんねるからVIPがお送りします
垢版 |
2023/03/19(日) 20:51:48.514ID:7KULWxFbd
Excelでピリオドを追加する


Y Asakuya
Excelでセルに数字を入れたら数字と数字の間にピリオドが入るようにしたい

Excelで数字と数字の間にピリオドを入れるには、次の手順を実行します。

数字を入力したいセルを選択します。
セル内でピリオドを挿入したい場所にカーソルを合わせます。
キーボードで「Alt + 0,1,8,3」の順に押します。
カーソルがピリオドに変わります。
残りの数字を入力します。
これにより、入力した数字と数字の間にピリオドが挿入されます。ただし、この方法はセル内のすべての数字に対して手動で行う必要があります。自動的にすべての数字に対してピリオドを挿入するには、VBAマクロを使用する必要があります。
0014以下、5ちゃんねるからVIPがお送りします
垢版 |
2023/03/19(日) 20:52:40.413ID:lX2Uz8BE0
>>13
だからワザップやめろ
オルトキーでなんとかなるわけねーだろ
考えてレスしろやタコ
0015以下、5ちゃんねるからVIPがお送りします
垢版 |
2023/03/19(日) 20:52:58.576ID:f4OuIg93a
関数でやったらいいじゃん
0016以下、5ちゃんねるからVIPがお送りします
垢版 |
2023/03/19(日) 20:55:42.985ID:lX2Uz8BE0
>>15
関数だと別の入力セル準備しなきゃいかんだろ?
できればそのセルで完結させたい
というか関数としても表示設定指定できんだろ
0017以下、5ちゃんねるからVIPがお送りします
垢版 |
2023/03/19(日) 20:55:58.593ID:bOeMqI5Z0
そんな使い方するやつ初めて見た
0018以下、5ちゃんねるからVIPがお送りします
垢版 |
2023/03/19(日) 20:56:15.096ID:V46DRDJy0
VBAあんま知らんけど文字数数えてその文字数分繰り返しで.を入れる関数作れないかな
0021以下、5ちゃんねるからVIPがお送りします
垢版 |
2023/03/19(日) 21:00:31.207ID:V46DRDJy0
他の入力セルを作らずにそのセルだけで完結させるのは無理やね
0022以下、5ちゃんねるからVIPがお送りします
垢版 |
2023/03/19(日) 21:01:02.511ID:lX2Uz8BE0
>>19
最終手段はそれしかないか
入力規則とかVBAとかでなんとかならんか?
0023以下、5ちゃんねるからVIPがお送りします
垢版 |
2023/03/19(日) 21:02:17.351ID:lX2Uz8BE0
>>21
マジかよ
諦めるしかないのか
0024以下、5ちゃんねるからVIPがお送りします
垢版 |
2023/03/19(日) 21:06:20.007ID:ATFJEKnd0
えっ俺の案は駄目なの
0025以下、5ちゃんねるからVIPがお送りします
垢版 |
2023/03/19(日) 21:07:32.019ID:iip4JYYg0
VBAにしたいなら毎回起動めんどくさいだろうしアドイン作れ
0026以下、5ちゃんねるからVIPがお送りします
垢版 |
2023/03/19(日) 21:09:37.614ID:lX2Uz8BE0
>>24
だめ
なんでピリオド挿入の話してんのにn番目削除の話してんの?
表示形式の0.なら対応できないよそれ
百歩譲っても桁数なんて毎回バラバラなんだが
0027以下、5ちゃんねるからVIPがお送りします
垢版 |
2023/03/19(日) 21:10:49.988ID:lX2Uz8BE0
>>25
作り方分からんわ
そもそもアドインとか作ったことすらない
0028以下、5ちゃんねるからVIPがお送りします
垢版 |
2023/03/19(日) 21:16:01.554ID:iip4JYYg0
ちなみに点つけてどうしたいのこれ
0029以下、5ちゃんねるからVIPがお送りします
垢版 |
2023/03/19(日) 21:18:50.532ID:lX2Uz8BE0
>>28
別にコンマじゃなくてもカンマでもいい
数字を区切りたいんだよ
入力するときいちいち1.2.3って入れるの面倒だろ?
123と入れたら勝手に区切ってくれると楽だろ?
そういうことよ
0030以下、5ちゃんねるからVIPがお送りします
垢版 |
2023/03/19(日) 21:20:10.051ID:0WxND7OS0
別の道探したほうがよさそう感あるよね(ただの感覚ですまんけど)
0031以下、5ちゃんねるからVIPがお送りします
垢版 |
2023/03/19(日) 21:24:24.523ID:lX2Uz8BE0
>>30
仕方ないか
俺だけ理解して俺だけ楽すりゃいいだけの話だもんな
そうするわ
0032以下、5ちゃんねるからVIPがお送りします
垢版 |
2023/03/19(日) 21:31:43.832ID:0WxND7OS0
>>31
セルが最小単位なので普通はセルによって区切るだろうからね
csvだよ
0033以下、5ちゃんねるからVIPがお送りします
垢版 |
2023/03/19(日) 21:40:05.866ID:6MVLuFjh0
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
0034以下、5ちゃんねるからVIPがお送りします
垢版 |
2023/03/19(日) 21:40:07.575ID:NGp6oGab0
これ最大何桁まで使う?
0035以下、5ちゃんねるからVIPがお送りします
垢版 |
2023/03/19(日) 21:44:51.324ID:NGp6oGab0
これでどう?

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
0036以下、5ちゃんねるからVIPがお送りします
垢版 |
2023/03/19(日) 21:47:12.184ID:NGp6oGab0
あれ?居なくなった?
0038以下、5ちゃんねるからVIPがお送りします
垢版 |
2023/03/19(日) 22:53:58.381ID:6MVLuFjh0
なんやこんだけでええやんけ最近のは便利やな
=TEXTJOIN(",",TRUE,MID(A1,SEQUENCE(LEN(A1)),1))
0039以下、5ちゃんねるからVIPがお送りします
垢版 |
2023/03/19(日) 23:11:13.862ID:NGp6oGab0
(´・ω・`)
■ このスレッドは過去ログ倉庫に格納されています

ニューススポーツなんでも実況