Excel VBA 質問スレ Part80(ワッチョイあり) (99レス)
1-

40: デフォルトの名無しさん (ワッチョイ 8b8e-adAD) [] 2024/03/23(土) 22:42:53.35 ID:ULmGYrNT0(1) AAS
助けてで始まる質問をする奴は○○って法則
41: デフォルトの名無しさん (ワッチョイ 1245-rfcW) [sage] 2024/03/26(火) 11:45:12.02 ID:JlWIdVqx0(1) AAS
ブックのフルパス取得しといて開きなおすとこまで書けばいいんじゃ
42: デフォルトの名無しさん (ワッチョイ 75f2-FSV6) [] 2024/03/26(火) 12:10:47.06 ID:qhsI8dwj0(1) AAS
何がしたいかわからん
43
(3): デフォルトの名無しさん (ワッチョイ 62ad-aQbW) [sage] 2024/04/08(月) 04:42:24.97 ID:1vwt4prT0(1) AAS
日付(2024/01/01)のセルをVBAのRange("A1").Valueなどで取得すると、勝手に2024/01/01 (月)って曜日の文字列が追加されます。
曜日なしで取得する方法をご存じの方いましたら教えてください。
曜日がついているせいでDateとして扱えず困っています。
Dim d As Date
d = CDate(Range("A1").Value) '2024/01/01 (月)が入ってるため
これでエラーが出ます。

2024/01/01 01:00:00のように時間が入っている場合は2024/01/01 (月) 01:00:00になります。
NumberFormatLocalでフォーマットを指定してもダメでした。
取得するセルの書式設定は日付でユーザー定義ではないです。
最終手段の文字列を加工するのはなしでお願いします。
44: デフォルトの名無しさん (スップ Sd02-kwRZ) [sage] 2024/04/08(月) 07:42:44.65 ID:TVRO53b8d(1) AAS
>>43
Dim d As Date
d = CDate(DATEVALUE(Range("A1").Value))
45: デフォルトの名無しさん (ワッチョイ 43ce-Ky5X) [sage] 2024/04/08(月) 14:05:35.40 ID:nl9i5mBy0(1) AAS
>>43
試してみたけど、この3行はどれもエラーにならず同じ結果になった
d = CDate(Range("A1").Value)
d = Range("A1").Value
d = Range("A1")

セルA1の内容は本当にシリアル値か?
OSやOfficeは日本語版か?
ロケールは日本になってるか?

シリアル値ならそのままDate型に代入できるかららCDateで変換するのは無駄
A1セルの書式を標準に変えたらどんな表示になるか確認
46: デフォルトの名無しさん (ワッチョイ 36f9-zSwZ) [] 2024/04/08(月) 14:31:02.66 ID:bhILccJZ0(1) AAS
>>43
試したけど自分も再現しない。
そちらで新しいブックを作って同じ事を試したら再現する?
47
(1): デフォルトの名無しさん (ワンミングク MM92-Svx8) [sage] 2024/04/09(火) 13:20:50.97 ID:CNAyRCwJM(1/7) AAS
すみません。初心者です。調べてもわからなかったので質問します。urlのようにまず一週間分の表を作って 一週間ごとにオートフィルすれば表がつくれるのですがそれをマクロでやりたいです。よろしくお願いいたします
48: デフォルトの名無しさん (ワンミングク MM92-Svx8) [sage] 2024/04/09(火) 13:30:27.56 ID:CNAyRCwJM(2/7) AAS
画像リンク

これでお願いいたします
49
(1): デフォルトの名無しさん (スップ Sd02-kwRZ) [sage] 2024/04/09(火) 13:31:59.88 ID:+lYdM27Td(1) AAS
質問とは
50: デフォルトの名無しさん (ワンミングク MM92-Svx8) [sage] 2024/04/09(火) 13:32:38.30 ID:CNAyRCwJM(3/7) AAS
ボタンを配置して押すごとに一週間分作成という風にしたいです。
51: デフォルトの名無しさん (ワンミングク MM92-Svx8) [sage] 2024/04/09(火) 13:34:22.65 ID:CNAyRCwJM(4/7) AAS
>>49
誠に勝手ながらコードを教えて欲しいです
52
(2): デフォルトの名無しさん (ブーイモ MM02-Ky5X) [sage] 2024/04/09(火) 14:44:25.19 ID:EBugvdEwM(1) AAS
>>47
Sub 全自動で表を作るMacro1()
  Dim da As Date
  da = "1/1" 'この日からスタート
  ro = 2
  For we = 1 To 52 '52週間分作る
    Cells(ro, 3).Resize(1, 3) = Array("a", "b", "c")
    For lo = 1 To 7
      Cells(ro + lo, 2) = da
      da = da + 1
    Next
    Set ra = Cells(ro, 2).Resize(8, 4)
    ra.Borders(xlEdgeLeft).LineStyle = xlContinuous
    ra.Borders(xlEdgeLeft).Weight = xlMedium
    ra.Borders(xlEdgeRight).LineStyle = xlContinuous
    ra.Borders(xlEdgeRight).Weight = xlMedium
    ra.Borders(xlEdgeTop).LineStyle = xlContinuous
    ra.Borders(xlEdgeTop).Weight = xlMedium
    ra.Borders(xlEdgeBottom).LineStyle = xlContinuous
    ra.Borders(xlEdgeBottom).Weight = xlMedium
    ra.Borders(xlInsideVertical).LineStyle = xlContinuous
    ra.Borders(xlInsideVertical).Weight = xlMedium
    ra.Borders(xlInsideHorizontal).LineStyle = xlContinuous
    ra.Borders(xlInsideHorizontal).Weight = xlMedium
    ro = ro + 8
  Next
  Range("B:B").Font.Name = "MS 明朝"
  Range("C:E").Font.Name = "MS ゴシック"
  Range("B:E").Font.Bold = True
  Range("B:B").NumberFormatLocal = "m月d日 (aaa)"
End Sub
53: デフォルトの名無しさん (ワンミングク MM92-Svx8) [sage] 2024/04/09(火) 15:00:14.82 ID:CNAyRCwJM(5/7) AAS
>>52
ありがとうございます。大変申し訳ありません。
54
(1): デフォルトの名無しさん (ワンミングク MM92-Svx8) [sage] 2024/04/09(火) 16:35:36.48 ID:CNAyRCwJM(6/7) AAS
>>52
すみません。これでも大丈夫ですがマクロ1回実行するごとに7日分つくりたいです。わがまますみません。
55
(1): デフォルトの名無しさん (ワッチョイ 43ce-Ky5X) [sage] 2024/04/09(火) 17:25:50.64 ID:GvF1xxBu0(1) AAS
>>54
Sub 一週間ずつコピペ追加Macro1()
  ro = Cells(Rows.Count, 2).End(xlUp).Row
  Cells(ro - 7, 2).Resize(8, 4).Copy Cells(ro + 1, 2)
  For Each c In Cells(ro + 2, 2).Resize(7, 1)
    c.Value = c + 7
  Next
  Columns("B").AutoFit
End Sub
56: デフォルトの名無しさん (ワンミングク MM92-Svx8) [sage] 2024/04/09(火) 17:44:22.55 ID:CNAyRCwJM(7/7) AAS
>>55
ありがとうございます!助かりました
57
(1): デフォルトの名無しさん (ワッチョイ 472d-gQNF) [sage] 2024/05/14(火) 11:08:08.44 ID:4ur2uort0(1) AAS
ワークシート上で使うつもりの関数についてですが
Function で関数を作る場合に
ワークシートのsum関数のように、「開始セル:終端セル」で範囲指定したものを
引数として渡すにはどのように書けばいいでしょうか?

Fuction Nmame(ここにどう書けば・・・) as Ingteger

という意味です
58
(1): デフォルトの名無しさん (ワッチョイ bfce-8FIX) [sage] 2024/05/14(火) 12:42:16.58 ID:kD3ns+u20(1) AAS
>>57

Function Nmame(セル範囲 As Range) As Integer
  Nmame = WorksheetFunction.Sum(セル範囲)
End Function
59: 57 (ワッチョイ 6d2d-gQNF) [sage] 2024/05/14(火) 14:38:27.21 ID:w6s7TkHo0(1) AAS
>>58
ありがとうございます
様子がわかりました
60: デフォルトの名無しさん (ワッチョイ 290b-tdd4) [sage] 2024/05/15(水) 02:47:04.16 ID:m8dxiqQg0(1) AAS
WorksheetFunctionを知らないのか便利さを理解してないのか分からんが、使わない奴多すぎだよ。
61: デフォルトの名無しさん (ワッチョイ 0eda-UQRA) [sage] 2024/05/20(月) 19:11:18.88 ID:7XMc72u80(1) AAS
たしかにExcel使っている人の中で99.9%の人は使ってないと思うよ
62
(1): 警備員[Lv.1][新芽] (ワッチョイ 1a45-lB5S) [sage] 2024/05/21(火) 10:21:01.62 ID:KUESjums0(1) AAS
WorksheetFunctionは後でかなり読みづらくなるのとエラーの対処が面倒になるから極力避けちゃうな
SequenceとXlookupはたまに使う
63: デフォルトの名無しさん (ワッチョイ 1fce-bHMQ) [sage] 2024/08/19(月) 12:24:22.85 ID:r5bjtZ4H0(1) AAS
>>62
そのままベタで書いてない?
Set wf = WorksheetFunction
n = wf.Vlookup(以下略
みたいにすれば式が長くて読みづらいのはだいぶ改善されるけど
64: デフォルトの名無しさん (ワッチョイ ffe8-78SL) [sage] 2024/08/19(月) 13:00:42.46 ID:0FLHd/HT0(1) AAS
object変数使うのとwith句どっちにするか悩む
1-
あと 35 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.010s