質問する
0

Do Loop While の使い方

質問日 2020-01-09 07:36:03 +0100

updated 2020-01-11 07:42:57 +0100

himajin100000 のGravatar画像

LibreOffice 初心者です。 Excel VBA でそのまま作動しないものを Calc Basic で書き直していますが、Do Loop While がよく分かりません。

下記が記述とその結果です。 Select Case が土曜で止まり、次は 8, 9, 10 の dateserial の日付が表示されます。 どこが間違っているのでしょうか。ご指導頂けるとありがたいのですが。

又、Excel VBA では 入れ子の For でうまく作動しましたが、LibreOffice では作動しません。 

REM  *****  BASIC  *****
Sub Dating
    Dim document as object
    dim sheet as object
    document = ThisComponent
    sheet = document.sheets(7)

    Dim i as integer
    Dim j as date
    Dim k as variant

    i = 5
    j = sheet.getCellByPosition(0, i).value
    k = WeekDay(j)

    Do
        sheet.getCellByPosition(0, i).value = j
        sheet.getCellByPosition(1, i).value = k
        Select Case k
            Case = 1
                sheet.getCellByPosition(1, i).string = "(日)"
            Case = 2
                sheet.getCellByPosition(1, i).string = "(月)"
            Case = 3
                sheet.getCellByPosition(1, i).string = "(火)"
            Case = 4
                sheet.getCellByPosition(1, i).string = "(水)"
            Case = 5
                sheet.getCellByPosition(1, i).string = "(木)"
            Case = 6
                sheet.getCellByPosition(1, i).string = "(金)"
            Case = 7
                sheet.getCellByPosition(1, i).string = "(土)"
        End Select  
        i = i + 6
        j = j + 1
        k = k + 1

    Loop While i <= 334

End Sub
   01/01/20   (水)



   01/02/20   (木)



   01/03/20   (金)



   01/04/20   (土)



   01/05/20   01/07/00



   01/06/20   01/08/00
edit retag flag offensive close merge delete

1 Answer

0

回答日 2020-01-10 21:38:45 +0100

himajin100000 のGravatar画像

kの値を確認しよう。今回の問題は決して「LibreOfficeだから」動かないわけじゃないぞ

edit flag offensive delete link もっと

Comments

himajin100000 様 ヒントをありがとうございました。 おかげで解決しました。

マクロボタンが震えている のGravatar画像マクロボタンが震えている ( 2020-01-11 12:42:24 +0100 )edit
ログイン/サインアップして回答する

質問ツール

2 followers

Stats

Asked: 2020-01-09 07:36:03 +0100

Seen: 110 times

Last updated: Jan 11