No.4ベストアンサー
- 回答日時:
#2です
>下付き文字などもそのまま結合してC1に入れるのを書きたいです。
Charactersを使って取得します。(調べてみてください)
セル配置はあえて違う場所にしていますが、後から理解し易く?
むしろ複雑にしまっているかも知れません。
取得と出力を分けて書いてあります。
配列について分からなければ、少し調べてくださいね。
装飾のオプションは多数有るので今回は、ご質問のフォントアンダーバーのみです。装飾についても調べると色々ありますので一度ググってみるのが良いと思います。
Sub sample()
Dim Rng As Range, r As Range
Dim i As Long, n As Long
Dim tp As Integer
Dim Str()
Set Rng = Range("B2:B4") '対象範囲
For Each r In Rng '配列サイズ設定の為のループ
i = i + Len(r.Text)
Next
ReDim Str(i, 2) '配列サイズ設定
n = 1
'取得
For Each r In Rng
For i = 1 To Len(r.Text)
If r.Characters(i, 1).Font.Underline = 2 Then
tp = 2
Else
tp = -4142
End If
Str(n, 1) = r.Characters(i, 1).Text
Str(n, 2) = tp
n = n + 1
Next
Next
'出力
With Range("C2") ’出力セル
.Clear
For n = 1 To UBound(Str, 1)
If .Text <> "" Then
.Value = .Text & Str(n, 1)
Else
.Value = Str(n, 1)
End If
Next
For i = 1 To Len(.Text)
.Characters(i, 1).Font.Underline = Str(i, 2)
Next
End With
End Sub
ご回答ありがとうございます。お礼が遅れてしまいすいませんm(_ _)m
この回答からヒントを得て、書きたかったものを書くことができました。
No.5
- 回答日時:
#4
投稿して気が付きました。
エラーでは無いですが、配列名はStr()適切ではないと思います
VBA関数 Str(number) があるので混同する可能性があります
使用する場合は、他の名前に変更してください。
すみません。
No.3
- 回答日時:
No.1です。
補足を見て。
多分初級レベルからみるとセルの値ではなく装飾ですよね?
無理な気もしますよ。
地道に1文字ずつ装飾されているのかどうかを調べてって感じじゃないですかね。
見た目は1つのセルにあるデータのように見えても、値と装飾は管理が別だと思います。
回答して頂きありがとうございます。
値とはまた扱いが違うとなると確かに厳しそうですね。
あと回答の内容を見て少し気になったのですが、
>地道に1文字ずつ装飾されているのかどうか調べて...
もしこれをやるとしたらどういう風に動かすのですか?
できれば教えてほしいです。
No.2
- 回答日時:
こんにちは
>書式ごと1行に
1セルかな?、行列の入れ替えをしたいのかな?
入れ替えて貼り付けの場合、
Sub test()
Range("A1:A5").Copy
Range("B1").PasteSpecial Transpose:=True
Application.CutCopyMode = False
End Sub
貼り付け領域の問題でコピー元と貼り付け先は重ねる事が出来ません。
上記で
Range("A1").PasteSpecial Transpose:=True はダメですよ
この場合、
Range("A2:A5").Copy
Range("B1").PasteSpecial Transpose:=True
などでA1セルをそのまま使うとか、、、
更に .Cut でやりたいところですが、CutにはオプションがありませんのでCopy、PasteSpecial Transpose:=True 後に 不要範囲を削除するような事になるかと思います。
No.1
- 回答日時:
こうゆう事ですか?
A1~A5には =TODAY() が入っておりセルの書式設定で表示を変えてます。
その表示の値を取得するために .Value ではなく .Text を使いました。
Sub megu()
Dim v(), r As Range, i As Long
i = 0
ReDim v(0)
For Each r In Range("A1:A5")
ReDim Preserve v(0 To i)
v(i) = r.Text
i = i + 1
Next
Range("B1").Value = Join(v, Chr(10))
End Sub
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) vbaエクセルマクロについて あるデータを作成し、デスクトップに.xlsx形式で保存するマクロを作成 2 2023/03/02 18:54
- Visual Basic(VBA) vbaエクセルマクロについて あるデータを作成し、デスクトップに.xlsx形式で保存するマクロを作成 6 2023/03/03 18:05
- Visual Basic(VBA) Excel(VBA) 特定の条件に該当する行の値、書式を同じセルにコピ&ペーストしたいです 1 2022/05/21 18:18
- Visual Basic(VBA) vbaエクセルマクロ RemoveDuplicatesについて RemoveDuplicatesを使 3 2023/02/28 01:13
- Excel(エクセル) マクロVBA別Excelブックにデータ転記 2 2022/07/10 23:35
- Visual Basic(VBA) VBA初心者です。 VBAで行単位で条件付き書式の色をカウントしたいです。 大量のデータがあるExc 3 2022/06/08 10:00
- Visual Basic(VBA) VBA初心者です。 VBAで行単位で条件付き書式の色をカウントしたいです。 大量のデータがあるExc 3 2022/06/08 10:02
- Visual Basic(VBA) vbaエクセルマクロ RemoveDuplicatesについて RemoveDuplicatesを使 1 2023/02/27 22:21
- Visual Basic(VBA) PowerPoint VBA で画像の鮮明度を変更する方法がわかりません 2 2023/03/24 13:34
- Excel(エクセル) マクロだと数式が表示される 2 2022/09/10 14:48
関連するカテゴリからQ&Aを探す
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
首吊りどこ締めるの
-
白血球が多いとどんな心配があ...
-
勃起する時って痛いんですか? ...
-
検便についてです。 便は取れた...
-
彼女のことが好きすぎて彼女の...
-
ある範囲のセルから任意の値を...
-
甲状腺が腫れているが血液検査...
-
【Excelで「正弦波」のグラフを...
-
エクセル指定した範囲からラン...
-
精子が黄色?
-
2つの数値のうち、数値が小さい...
-
これって喉仏ですか? 私は女性...
-
至急!尿検査前日にオナニーし...
-
EXCELで条件付き書式で空白セル...
-
Excelで""で囲む方法
-
EXCELで式からグラフを描くには?
-
中出しをするとお腹が痛い・・・。
-
筋トレするとチンコが縮んじゃ...
-
エクセルの質問。 対象範囲...
-
精子に血が・・・
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
首吊りどこ締めるの
-
至急!尿検査前日にオナニーし...
-
白血球が多いとどんな心配があ...
-
尿検査前日に自慰行為した時の...
-
検便についてです。 便は取れた...
-
彼女のことが好きすぎて彼女の...
-
腕を見たら黄色くなってる部分...
-
勃起する時って痛いんですか? ...
-
尿検査の前日は自慰控えたほう...
-
精子が黄色?
-
中出しをするとお腹が痛い・・・。
-
EXCELで条件付き書式で空白セル...
-
口の中に黒い血の塊
-
これって喉仏ですか? 私は女性...
-
2つの数値のうち、数値が小さい...
-
納豆食べた後の尿の納豆臭は何故?
-
EXCELで式からグラフを描くには?
-
小数点以下を繰り上げたものを...
-
excelでsin二乗のやり方を教え...
-
エクセル指定した範囲からラン...
おすすめ情報
説明が足らず申し訳ありません
例えば、
A1、B1にそれぞれ 1(2) , 2(3) ※()内の数字は下付き文字
と値があった場合に
下付き文字などもそのまま結合してC1に入れるのを書きたいです。