• 締切済み

Excel VBA

hana-hana3の回答

  • hana-hana3
  • ベストアンサー率31% (4940/15541)
回答No.1

VBAにもヘルプ(F1キーで表示)があるので、まずはそちらを参照して下さい。 ここに質問すればそれなりの回答は付きますが、自分でもネット検索するとかヘルプを参照する癖を付けておかないと上達には結び付きません。 書店を廻って解りやすい参考書も購入して下さい。 http://www.sist.ac.jp/~suganuma/VBA/VBA.htm http://www.bunsugi.ed.jp/vba4graduate/vba_menu.htm

JZ302
質問者

お礼

サイトを紹介して下さってありがとうございました。

関連するQ&A

  • VBAのVLOOKUP

    VBAのVLOOKUPについて質問です。 VBAでVLOOKUPの式を作りたいのですが、ネット検索し式を見ても意味がわかりません。 式のSubのしたにCellsと書いている人もいるし、Dim as longから始まっている人もいます。 そもそもDIMの意味がわからないのですが。 どなたかVLOOKUPの式の作り方とそのコマンドの意味を教えていただけないでしょうか

  • Excel VBAでsub,dimは何の略?

    Excel VBAで sub,dimはそれぞれ何の略ですか?

  • エクセル VBA の用語一覧について

    エクセルのVBAの勉強を始めました。 サンプルプログラムを見ているときに、わからない用語がたくさん出てきます。 手持ちのVBAの本のアルファベット順の索引にも載っていないものは、VBAのヘルプを見るのですが、私には専門的すぎて理解できず困っています。 例えば、「Long」をVBAのヘルプで調べると 「長整数型 (Long) の変数は、32 ビット (4 バイト) の変数です。 -2,147,483,648 ~ 2,147,483,647 の範囲の値をとります。 長整数型の型宣言文字はアンパサンド (&) です。」 私には投げ出したくなる内容ですが、急いでマスターしなければならないので、頑張らねばなりません。 初心者にもわかりやすい参考書や、サイトをご存知ないでしょうか。 「Google」や「答えてネット」や「OKWAVE」で、過去の質問を検索したのですが、それらしきサイトは、見つけることができませんでした。 アルファベット・五十音順で、すべての用語が網羅されているもの(本もしくはサイト)を探しています。 よろしくお願いします。 <環境> WindowsXP Professional Excel 2003 Microsoft Visual Basic 6.0 Excelについては、簡単な表やグラフを作成できるくらいのスキルです。 VBAについては、ここ数日勉強しており、マクロやプログラムの大まかな流れが理解でき始めたところです。

  • 末尾に#がつくのは vba

    Sub test() Dim i As Long i = 2000000000 i = 3000000000# End Sub この場合、 2000000000は問題ないけど、 3000000000から末尾に#が付きました。 どの数字からシャープが付くのでしょうか? またシャープの意味はなんでしょうか? vbaのコードを実行するにおいて、#があってもエラーになりませんでした。

  • エクセルVBA:ある有名な方のサイトで・・・

    VBA初心者です。よろしくお願いします。 いま、VBAを勉強しています。 有名なT氏のエクセルVBAに関するサイト(オフィスT・・)の、「高速化テクニック」のところで、下記、★ ★ ★以下のような例がありました。 「Cells(j, 1).Font.FontStyle = "太字"」 が目的の作業であるならば、 「Dim i As Integer」「For i = 1 To 100」を何のために宣言し、記述しているのでしょうか?「j」の変数の宣言は「Cells(j, 1).・・・」で理解できますが、「i」の宣言また、「For i = 1 To 100」は不要のように思われるのです。 最初は何かの間違いかと思っていましたが、同氏の他の解説にも同様の記述がありましたので、きっと、意味があるのですね。教えてください。 ★ ★ ★ Sub Test2() Dim i As Integer, j As Integer For i = 1 To 100 For j = 1 To 10 Cells(j, 1).Font.FontStyle = "太字" Next j Next i End Sub

  • EXCEL VBA

    EXCEL VBAで空白行が現れたら「小計」の文字を入力したいと思い以下のように記述しましたが、うまくいきません。どこがおかしいのか教えてください。 宜しくお願いします。 Sub write小計() Dim i As Integer Dim rowcnt As Integer rowcnt = Cells(1, 1).CurrentRegion.Rows.Count Range("B1").Select For i = 1 To rowcnt If Cells(i, 2).Value = "" Then Value = "小 計" ActiveCell.Offset(1).Select Next i End Sub

  • エクセル2019 VBAについて

    エクセル2019でVBAを使いコピーペーストの勉強中です、次の箇所(Dim i As integr)で、ユーザー定義型は定義されていませんと指摘されて止まってしまします、Sheet("データ")には3行のデータは入っています、VBA初心者のため、この後が、なかなか前に進めません、どうかよろしくおねがいします。 ********************************** Sub 練習() Dim s1 As Worksheet: Set s1 = Worksheets("請求書") Dim s2 As Worksheet: Set s2 = Worksheets("データ") Dim r1 As Integer: r1 = 18 Dim r2 As Integer: r2 = 2 { Dim i As integr } For i = 0 To 2 s1.Range(s1.Cells(r1 + i, 1), s1.Cells(r1 + i, 3)).Value = s2.Range(s2.Cells(r2 + i, 2), s2.Cells(r2 + i, 4)).Value s1.Cells(r1 + i, 4).Value = s1.sells(r1 + i, 2).Value * s1.Cells(r1 + i, 3).Value Next End Sub ***************************************

  • エクセルVBAについて

    エクセルVBA初心者です。 左の表からある一定以上の売上を得た人を抽出し、右の表に表示したいのですが以下のプログラムだと上手くいきません。 どこがダメなのでしょうか? Private Sub cmdUriken_Click() Dim k As Integer Dim l As Integer Dim m As Integer k = 2 l = 2 m = 2 Do Until Cells(m, 32) = "" Range(Cells(m, 19), Cells(m, 34)).Select Selection.ClearContents m = m + 1 Loop Do Until Cells(k, 14) = "" If Cells(k, 14) >= txtUriken.Text Then Range(Cells(k, 1), Cells(k, 16)).Select Selection.Copy Range(Cells(l, 19), Cells(l, 34)).Select ActiveSheet.Paste l = l + 1 Application.CutCopyMode = False End If k = k + 1 Loop End Sub ちなみに If Cells(k, 14) = txtUriken.Text Then とするとちゃんと同等の売上が表示されるので >= の使い方が間違っていると思うのですが よろしくお願いします。

  • エクセルVBAで。

    お世話になります。 VBA初心者です。 (初心者でもないのですが、しばらく遠ざかっていました。) エクセルVBAの記述内容をコピーし、 エクセルの通常のシートへ貼り付けした際、 記述上「’」で始まる文字は緑色が付いていますが、 通常のシートへ貼り付けした際、黒字になってしまいます。 そこで、下記の様なVBAを記述し、貼り付け後に、 「’」から始まる文字を緑色に着色しようと試みましたが (やはり)うまくいきませんでした。 エクセル関数なんかも織り交ぜたおかしな記述だと思いますが 何となくやりたい事が伝わって頂けるかと思うのですが、 どう修正したら出来ますでしょうか。 ご教授下さいます様、宜しくお願いいたします。   記 Sub 色() Dim y As Integer Dim x As Integer Dim a As Integer mysheet = ActiveSheet.Name For y = 1 To 10 x = Sheets(mysheet).Cells(Rows.Count, y).End(xlUp).Row a = 0 Do Until a > x a = a + 1 If Right(Cells(y, a), 1) = "'" Then Cells(y, a).Select Selection.Font.ColorIndex = 10 End If Loop Next End Sub

  • エクセル(2003)のVBAに関する質問です。

    エクセル(2003)のVBAに関する質問です。 例えば、B列からW列のある特定の行数までの表があるとします。 表の一番下の行(B列からW列)を368行までオートフィルを行うマクロを 以下のように考えましたが実行時エラーがでてしまいます。 Private Sub Workbook_Open() Dim rng As Range Set rng = Cells(Rows.Count, "B").End(xlUp).Resize(1, 21) rng.AutoFill Destination:=Range(rng, "W368"), Type:=xlFillSeries End Sub 初歩的な質問で恐縮ですが、ぜひ解決方法を教えて下さい。