
vbaの書き方について
Dim i As・・・・のⅰとAsの間って開けるとださいですか
Private Sub Worksheet_Change(ByVal Target As Range)
Application.EnableEvents = False
If Intersect(Target, Range("Z34, R51")) Is Nothing Then
Application.EnableEvents = True
Exit Sub
Else
Call テスト
End If
Application.EnableEvents = True
End Sub
_______________________________________
Sub テスト()
'検索値があるシート
Dim targetSheet As Worksheet
'対象データがあるシート
Dim seathSheet As Worksheet
Set targetSheet = Worksheets("検索")
Set seathSheet = Worksheets("表")
'検索地の日付
Dim hiduke As String
targetSheet.Activate
'過去のデータ削除
targetSheet.Range("R52:X54").ClearContents
hiduke = Format(Cells(34, 26), "yyyy") & "." & Format(Cells(34, 26), "MM")
Dim i As Long
Dim n As Long
Dim lastRow As Long
Dim lastCol As Long
lastRow = seathSheet.Cells(Rows.Count, 2).End(xlUp).Row
For i = 10 To lastRow
If seathSheet.Cells(i, 2) = targetSheet.Range("R51") Then
Exit For
End If
Next i
'対象の支払先会社名がない場合
If i = lastRow + 1 Then
MsgBox "一致する支払先会社名はありません"
Application.EnableEvents = True
Exit Sub
End If
lastCol = seathSheet.Cells(8, Columns.Count).End(xlToLeft).Column
For n = 7 To lastCol
If seathSheet.Cells(8, n) = hiduke Then
Exit For
End If
Next n
'対象の日付がない場合
If n = lastCol + 1 Then
MsgBox "一致する日付はありません"
Application.EnableEvents = True
Exit Sub
End If
targetSheet.Range("R52") = seathSheet.Cells(i, 3).Value
targetSheet.Range("R53") = "\" & Format(seathSheet.Cells(i, n).Value, "#,###") & ".-"
targetSheet.Range("R54") = "\" & Format(seathSheet.Cells(i + 1, n).Value, "#,###") & ".-"
End Sub
A 回答 (3件)
- 最新から表示
- 回答順に表示
No.3
- 回答日時:
#2です
>Dim aa As Long
Dim aaa As Long
Dim bbb As Long
Dim strA As String
Dim strAA As String
この様な感じで記す場合があります
何の事か分かりませんでしたね 画像にします
別にダサくは無いかと・・・

No.2
- 回答日時:
>Dim i As・・・・のⅰとAsの間って開けるとださいですか
意味を理解していなかったらごめんね
(私的には)
自分だけが書いたり、使用する場合
Dim i As Long, j As Long, ii As Long
Dim strA As String, strAA As String
こんな感じに記す事が多いですが、
構造体を作成したり、定数宣言を絡めたり、配布や複数人数で扱う場合は
Dim aa As Long
Dim aaa As Long
Dim bbb As Long
Dim strA As String
Dim strAA As String
この様な感じで記す場合があります
前者の書き方で 半角スペースを不要に入れるのは意図が分かりませんが
後者のような書き方の場合は、良いのでは無いかと思います
No.1
- 回答日時:
こんにちは
>ⅰとAsの間って開けるとださいですか
スペースを空けるってことですよね?
空けないと「iAs ~~」になるので、一つの変数名として解釈されますけれど・・?
(Asは予約語のAsとは解釈されません)
※ 意味が違っていたならスルーしてください。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) VBAの指示の内容 昨日こちらでご教示頂いたのですが初心者な為、一つ一つの指示が何をやっているのかわ 2 2022/10/25 18:08
- Visual Basic(VBA) VBA Userformで一部別シートに転記がしたいのですが 2 2023/05/24 13:08
- Visual Basic(VBA) オブジェクトが見つかりません 1 2023/06/24 19:43
- Excel(エクセル) エクセルVBAでオブジェクトが必要です 2 2022/09/10 16:37
- Visual Basic(VBA) VBA処理追加 こちらでご教示頂いたのですが回答完了させてしまいましたのでこちらからまた質問させてく 2 2022/10/27 09:57
- Excel(エクセル) なぜExit Subがあるのかわかりません 4 2023/02/19 12:34
- Visual Basic(VBA) いつもお世話になっております、VBAで教えて頂きたいのですが 2 2022/05/05 22:20
- Visual Basic(VBA) VBA 請求書自動作成 3 2022/04/24 01:58
- Excel(エクセル) B列に文字がはいったらA列に数字が入るマクロードを完成させたい 4 2023/04/21 01:58
- Visual Basic(VBA) VBAコードが作動せず、どこに問題があるのか教えて下さい。 3 2023/06/13 13:20
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
今日の日付が入った行のデータ...
-
SQLite3のtext→date変換について
-
Excelグラフの日付軸の日付がず...
-
月の日付一覧について
-
重複するIDのデータを1行にま...
-
SQLで部分的にGROUP BYしたいとき
-
14桁の日付(YYYYMMDDHHMMSS)を...
-
日付の最大値レコードを取得す...
-
日付型→文字列
-
すいません
-
SQLサーバで和暦から西暦に変換...
-
SQL*Loaderについて
-
Exel関数で誕生日がきたら...
-
Accessのマクロでモジュールを...
-
日付型カラムへのデータINSERT
-
Statement ignored というエラー
-
Access VBAで行ラベルが定義さ...
-
Excel VBAで「プログラム実行」...
-
ODBCリンクの際にACCESSでは読...
-
PL/SQLカーソルの2重FORループ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
今日の日付が入った行のデータ...
-
SQLで部分的にGROUP BYしたいとき
-
重複するIDのデータを1行にま...
-
Accessの数値から時間に変換す...
-
14桁の日付(YYYYMMDDHHMMSS)を...
-
SQLサーバで和暦から西暦に変換...
-
テーブルの主キーをdate型...
-
日付書式に変換でこまっています!
-
エクセル 日付による並べ替え...
-
日数算出SQL
-
日付の切り出し方法について
-
wordの差し込み印刷での日付表示
-
指定した年月までのデータを取...
-
OSのシステム日付を変更して...
-
Excelグラフの日付軸の日付がず...
-
日付の最大値レコードを取得す...
-
特定の日付が第何週目にあるか...
-
OSのシステム日付を変更して...
-
excel 日付のみ置換したいのです
-
WHERE句にて「30日前から今日ま...
おすすめ情報