Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


155 / 3841 ページ ←次へ | 前へ→

【79379】Re:特定セルだけオートコンプリート無効化
発言  マナ  - 17/9/8(金) 18:38 -

引用なし
パスワード
   ▼りった さん:

>「オートコンプリート無効にしたセルにカーソルが当たった状態でエクセルを閉じる」
>と、オートコンプリート無効になるのではないかと思います。
>(実験未)

でしたら、そのブックを閉じるときに元に戻せばよいのでは?
・ツリー全体表示

【79377】Re:特定セルだけオートコンプリート無効化
質問  りった  - 17/9/8(金) 16:59 -

引用なし
パスワード
   返信ありがとうございます。返信遅くなりました。済みません。

>>操作によってはOFFのままになってしまいそうです。
>例えばどんな操作が想定されますか?
「オートコンプリート無効にしたセルにカーソルが当たった状態でエクセルを閉じる」
と、オートコンプリート無効になるのではないかと思います。
(実験未)
・ツリー全体表示

【79376】Re:Sheetコピー後に1列分の文字をSheet名...
質問  マリモ  - 17/9/8(金) 9:20 -

引用なし
パスワード
   マナ様

ご助言
ありがとうございます。

「マクロの記録」の結果は下記の通りでございます。
------------------------------------------------
Sub demo1()
'
' demo1 Macro
'

'
  Sheets("元").Copy Before:=Sheets(3)
  Sheets("Sheet1").Select
  Range("A1").Select
  Selection.Copy
  Sheets("元 (2)").Select
  Sheets("元 (2)").Name = "りんご"
  Sheets("元").Select
  Application.CutCopyMode = False
  Sheets("元").Copy Before:=Sheets(4)
  Sheets("Sheet1").Select
  Range("A2").Select
  Selection.Copy
  Sheets("元 (2)").Select
  Sheets("元 (2)").Name = "ブドウ"
  Sheets("元").Select
  Application.CutCopyMode = False
  Sheets("元").Copy Before:=Sheets(5)
  Sheets("Sheet1").Select
  Range("A3").Select
  Selection.Copy
  Sheets("元 (2)").Select
  Sheets("元 (2)").Name = "なし"
  Sheets("元").Select
  Application.CutCopyMode = False
  Sheets("元").Copy Before:=Sheets(6)
  Sheets("Sheet1").Select
  Range("A4").Select
  Selection.Copy
  Sheets("元 (2)").Select
  Sheets("元 (2)").Name = "いちじく"
  Sheets("元").Select
  Application.CutCopyMode = False
  Sheets("元").Copy Before:=Sheets(7)
  Sheets("Sheet1").Select
  Range("A5").Select
  Selection.Copy
  Sheets("元 (2)").Select
  Application.Width = 999.75
  Application.Height = 387
  Application.Left = 355
  Application.Top = 300.25
  Application.Width = 1088.25
  Application.Height = 387
  Sheets("元 (2)").Name = "かき"
  Range("L7").Select
End Sub
------------------------------------------------

上記の工程をループをつかってスマートにできないか
考えております。
ちなみにSheet1のA列の行は177行ございます。

よろしくお願いいたします。
・ツリー全体表示

【79375】Re:vbaを利用したgooglemapのルート取得
発言  Jaka  - 17/9/7(木) 18:02 -

引用なし
パスワード
   IEなどやったことが無いので、探してみた
ボタンクリックってのがあっただけで内容は全く解りません。

VBAによるIE自動制御

htt p://vba-code.net/ie/click-a-button/

役に立てなくてすみません。
・ツリー全体表示

【79374】Re:Sheetコピー後に1列分の文字をSheet名...
発言  マナ  - 17/9/7(木) 17:10 -

引用なし
パスワード
   ▼マリモ さん:

まずは「マクロの記録」で
シートのコピーとシートの名前変更
について調べるところから
はじめてはいかがでしょうか。
・ツリー全体表示

【79373】Re:Timer関数を使って
お礼  もろたつ  - 17/9/7(木) 16:11 -

引用なし
パスワード
   ありがとうございました。なんとなく理解できました。
・ツリー全体表示

【79372】Sheetコピー後に1列分の文字をSheet名に...
質問  マリモ  - 17/9/7(木) 10:19 -

引用なし
パスワード
   いつもお世話になっております。
マリモと申します。

説明不足があるかと存じますが
よろしくお願いいたします。

同じBookでSheet1のA列に文字が並んでおりまして
Sheet名を「元」にしてあるのをコピーし、Sheetを増やし(繰り返し)
そのSheet名をそのSheet1のA列に並んでいるのを
上から順に、またコピー後は「元」Sheetの横に
左から右へと増やしたいのですが・・。

よろしければ、ご教示いただけるとありがたいです。
・ツリー全体表示

【79371】Re:vbaを利用したgooglemapのルート取得
発言  おむすび  - 17/9/7(木) 9:12 -

引用なし
パスワード
   ▼Jaka さん:
>過去の情報を探してきただけなので、動くかどうかは解りません。
>
>CreateObject("WScript.Shell").SendKeys "{ENTER}"

ありがとうございます。
試してみましたが、動きませんでした・・・


追記
マウスとキーボード操作のときのように、

目的地のテキストボックスにフォーカスをあてて、エンターのプログラムをしてもダメでした。
・ツリー全体表示

【79370】Re:特定セルだけオートコンプリート無効化
発言  マナ  - 17/9/6(水) 21:00 -

引用なし
パスワード
   ▼りった さん:

>操作によってはOFFのままになってしまいそうです。

例えばどんな操作が想定されますか?
・ツリー全体表示

【79369】特定セルだけオートコンプリート無効化
質問  りった  - 17/9/6(水) 18:29 -

引用なし
パスワード
   特定セルだけオートコンプリートを無効化したいのですが、何かいい方法有りますでしょうか?

背景:
帳票の入力フォームにて、区分(A,B,C等)を入力するセルが有ります。
他のセルにAUTO等があると、Aと入れた際にオートコンプリートが働いてしまいます。
入力資料を見たまま1帳票分入力したいので、画面でいちいち確認したくないです。

Worksheet_SelectionChange で、Application.EnableAutoComplete を
切り替えればとりあえずはできそうではありますが、
操作によってはOFFのままになってしまいそうです。
(本ファイルはEXCELLに不慣れな人も使うので、副作用のある対応はできれば避けたいです。)
・ツリー全体表示

【79368】Re:vbaを利用したgooglemapのルート取得
発言  Jaka  - 17/9/6(水) 17:18 -

引用なし
パスワード
   過去の情報を探してきただけなので、動くかどうかは解りません。

CreateObject("WScript.Shell").SendKeys "{ENTER}"
・ツリー全体表示

【79367】Re:複数ブック・複数シートから1行コピー...
お礼  sakura  - 17/9/6(水) 17:05 -

引用なし
パスワード
   マナさん、できました‼
ご親切に、本当にありがとうございましたm(__)m
とっても助かりました‼
これを機に、自分でも書けるように勉強してみたいと思います。
ありがとうございましたm(__)m
・ツリー全体表示

【79366】vbaを利用したgooglemapのルート取得
質問  おむすび  - 17/9/6(水) 16:39 -

引用なし
パスワード
   現在下記ソースにて、ルートの出発地、目的地をセット、
その後エンターを押すことでルートが表示されるはずが、エンターがききません。マウスでクリックなどしてキーボードのエンターを押せば動くのですが、原因わかりませんでしょうか??


Sub test()
Then Exit Sub
Dim objIE As Object
Dim tgt1 As String
Dim tgt2 As String
Set objIE = CreateObject("InternetExplorer.application")
tgt1 = "東京都渋谷区代々木神園町1-1"
tgt2 = "東京都千代田区隼町4-1 国立劇場"
objIE.Visible = True
objIE.Navigate "maps.google.co.jp/maps" 'http://をつけてください
Do While objIE.Busy = True Or objIE.readyState <> 4: Loop
'--ルート乗換案内オブジェクトページのの項目をダイレクト書き込み
With objIE.Document

  .getElementsByClassName("searchbox-directions")(0).Click
Application.Wait Now + TimeValue("00:00:02")
  .getElementsByClassName("directions-travel-mode-icon directions-drive-icon")(0).Click
Application.Wait Now + TimeValue("00:00:02")
   .getElementsByClassName("tactile-searchbox-input")(2).Value = tgt1
   'SendKeys "{ENTER}"
  .getElementsByClassName("tactile-searchbox-input")(3).Value = tgt2
Application.Wait Now + TimeValue("00:00:02")
  
  
   SendKeys "{ENTER}", True
・ツリー全体表示

【79365】Re:行と列の抽出
発言  Jaka  - 17/9/6(水) 14:07 -

引用なし
パスワード
   =INDEX(Sheet1!$A$1:$J$10,ROW($A1)*2-1,COLUMN(A$1)*2-1)
・ツリー全体表示

【79364】Re:行と列の抽出
発言  γ  - 17/9/5(火) 20:58 -

引用なし
パスワード
   どのようにうまくいかないか説明がありません。
他人には理解できません。
それもありますが、ここはExcelVBAの質問箱なんですが、
VBAとどんな関係があるんですか?
・ツリー全体表示

【79363】Re:複数ブック・複数シートから1行コピー...
発言  マナ  - 17/9/5(火) 20:18 -

引用なし
パスワード
   ▼sakura さん:

すべてのシートで処理をさせる構文は、

For Each ws In wb.Worksheets
  ここに処理内容
Next

-------
条件を満たした場合のみ処理する構文は、

If 条件 Then
  ここに処理内容
End If

-------
で、こうすると
Sheetで始まるシートのみ処理できます。

For Each ws In wb.Worksheets
  If ws.Name Like "Sheet*" Then
    LastRow = tb.Sheets(TotalSheet).Rows(Rows.Count).End(xlUp).Row + 1
 
    ' 行ごとのコピーを行うとなぜかずれるので値のみコピーしてみる。
    ws.Rows(TargetRow).Copy
    tb.Sheets(TotalSheet).Rows(LastRow).PasteSpecial (xlPasteValues)
  End If
Next

-------
あとは、

>TargetSheet = "Sheet1"
これを

TargetSheet = "Sheet*"
に変更すれば

>If ws.Name Like "Sheet*" Then
は、

If ws.Name Like TargetSheet Then
にするとよいです。
・ツリー全体表示

【79362】Re:複数ブック・複数シートから1行コピー...
質問  sakura  - 17/9/5(火) 12:11 -

引用なし
パスワード
   おそらく、かなりおなしなことをしてしまっているだろうと思い、自分なりに…の部分を割愛させていただきましたが…
恥をしのんで、、
下記のように、もとのコードの59行目の Set wh = Workbooks… の部分を、教えていただいたコードに置き換えました。
また、25行目+指定している TargetSheet もこのままではダメかな&#8264;と思い、コメントにしています。
お手数をおかけして申し訳ありませんが、もしよろしければ、どこをどう変更すれば良いか、までお教えいただけると大変助かります。
勉強不足で大変恐縮です。。
よろしくお願いいたしますm(__)m


Sub アンケート集計実行()
  Dim wbn As Workbook
  Dim wb As Workbook
  Dim tb As Workbook
  Dim TotalDir As String
  Dim TotalSheet As String
  Dim TargetSheet As String
  Dim TargetFile As String
  Dim TargetRow As String
  Dim StartRow As String
  Dim LastRow As String
  Dim modeFlag As Boolean
 
'====================================================
'           値の設定
'====================================================
 
  ' 集計対象フォルダの指定
  TotalDir = "C:\Users\NS26517\OneDrive - Teijin-Frontier\201708法務審査_下請調査関係\アンケート集計"

  ' 集計対象シートの指定
  TargetSheet = "Sheet1"
   
  ' 集計用シートの指定
  TotalSheet = "集計"
   
  ' 集計対象行の指定
  TargetRow = "2"
 
  ' 集計結果記載開始行を指定
  StartRow = "2"
 
  ' 追記するかしないかフラグ(True : 追記する、False: 追記しない)
  modeFlag = False


'====================================================
'           実処理
'====================================================
  Set tb = ThisWorkbook
 
  If modeFlag = False Then
      LastRow = tb.Sheets(TotalSheet).Rows(Rows.Count).End(xlUp).Row + 1
      tb.Sheets(TotalSheet).Range(StartRow & ":" & LastRow).Delete
  End If
   
  TargetFile = Dir(TotalDir & "\*.xlsx", vbNormal)
  Do While TargetFile <> ""
    If TotalDir & "\" & TargetFile <> TotalFile Then
      For Each wbn In Workbooks
        If wbn.Name = TargetFile Then
          MsgBox TargetFile & " は、既に開かれています。" & vbCrLf & "集計処理を中止します。"
          Exit Sub
        End If
      Next wbn
      Set wb = Workbooks.Open(TotalDir & "\" & TargetFile)
      For Each ws In wb.Worksheets
        If ws.Name Like "Sheet*" Then
      LastRow = tb.Sheets(TotalSheet).Rows(Rows.Count).End(xlUp).Row + 1
 
      ' 行ごとのコピーを行うとなぜかずれるので値のみコピーしてみる。
      wb.Sheets(TargetSheet).Rows(TargetRow).Copy
      tb.Sheets(TotalSheet).Rows(LastRow).PasteSpecial (xlPasteValues)
     
      ' クリップボード警告対策
      tb.Sheets(TotalSheet).Range("A1").Copy
     
      ' 集計対象ファイルを閉じる
      wb.Close False

    End If
   
    TargetFile = Dir()
  Loop
 
  ' クリップボード警告対策
  tb.Sheets(TotalSheet).Range("A1").Copy
 
  ' 集計ファイルを保存
  tb.Save

  ' 集計後のファイルを閉じる
  ' tb.Close True
 
  ' 完了を通知
  MsgBox "集計を完了しました。"
End Sub
・ツリー全体表示

【79361】行と列の抽出
質問  boss  - 17/9/5(火) 9:19 -

引用なし
パスワード
   Sheet1のA1からJ10に値が入っており、Sheet2に行と列それぞれ2行おきに
A1からE5で値を取得したいのですがうまくいきません。

=INDEX(Sheet1!$A$1:$J$10,ROW($A1)*2,COLUMN(A$1)*2)

すみませんがお力添えいただきたく。
・ツリー全体表示

【79360】Re:複数ブック・複数シートから1行コピー...
発言  マナ  - 17/9/4(月) 19:36 -

引用なし
パスワード
   ▼sakura さん:

>自分なりにやると、コンパイルエラーになってしまいました。

どのようにしたか、教えてください。
・ツリー全体表示

【79359】Re:複数ブック・複数シートから1行コピー...
質問  sakura  - 17/9/4(月) 9:57 -

引用なし
パスワード
   マナさん
ありがとうございます&#8252;
無知でお恥ずかしい限りですが、どこにどのように組み込めば良いかがわかりません…
自分なりにやると、コンパイルエラーになってしまいました。
引き続きアドバイスをお願いできますでしょうか&#8264;
よろしくお願いいたしますm(__)m
・ツリー全体表示

155 / 3841 ページ ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free