LOTUS1−2−3の名宛ラベル印刷マクロ(サンプル付き)
とりあえず実用的なものとしてお使いいただけます。
実際のサンプルファイルをダウンロードすることも出来ますので、お試しください。
また、このサンプルを元にLOTUS 1−2−3のマクロをご説明します。

名宛ラベルサンプルファイルのダウンロード

以下は、サンプルファイルのマクロ部分です。
ワークシートCにあります。
印刷は、CTRL+Z(コントロールキーを押しながらZキーを押す)で実行できます。
また、最終レコード行番号(データの最終行番号)は、CTRL+Lです。

次のページから、それぞれのマクロを説明します。

初期設定 範囲名 マクロ・設定値・変数など 説明
郵便番号の列番号 YBN 3 A列は1、B列は2、C列は3・・・
住所1 JY_1 4 同上
住所2 JY_2 5 同上
氏名 SIMEI 6 同上
敬称 KEI  様 敬称を入れます(敬称の前に空白を1つ入れると良いでしょう)
データ先頭行番号 DSEN 7 印刷したいデータのある先頭の行番号
データ最終行番号 DLAS 34 印刷したいデータのある最終の行番号
ラベル用紙タイプ LBT 10 ラベル枚数/用紙(12に設定したらラベル印刷範囲を変更し、行高を調整してください)
CEL @COORD(1,SIMEI,DSEN,8) セルポインタジャンプ先
マクロ1で最終行取得 SAI 34 マクロ1の実行によるデータ最終行番号
機能 範囲名 まくろ用 説明
マクロ1用 HN_1 @IF(@CELLPOINTER("TYPE")="b",0,1) マクロMSR_1によりセルポインター位置のセルが空白の場合 0、でなければ 1
CT_R @CELLPOINTER("ROW") マクロMSR_1により最終行の次の番号取得(空白行を発見)
GBAN +CT_R-1 最終データのある行番号(CT_R-1)
マクロ2用
ラベル転写数 CT 28 カウンター
ラベル用紙数 LCT 4 カウンター
全ラベル数 ZL +DLAS-DSEN+1 ラベル印刷枚数
全用紙数 ZYS @INT(ZL/LBT)+1 ラベル用紙印刷枚数
データ DTC +DSEN+(LCT-1)*LBT データレコード番号
マクロ文用パーツ KC @CHAR(34) キャラクタコード
LT {LET
LL }
TP +KC&"type"&KC
BL +KC&"b"&KC
SM +"&"&KC&KEI&KC
サブマクロ
クリアー(初期化) CLR {LET CT,0}{LET LCT,1}
{CALC}
{RETURN}
CL_2 {EDIT-CLEAR PE,"CONTENTS"}
{RETURN}
データ1 DT_1 +$LT&" "&@COORD(2,2,3,6)&","&@COORD(1,$YBN,$DTC,5)&$LL
+$LT&" "&@COORD(2,2,4,6)&","&@COORD(1,$JY_1,$DTC,5)&$LL
+"{IF @CELL("&$TP&","&@COORD(1,$JY_2,$DTC,5)&")<>"&$BL&$LL&$LT&" "&@COORD(2,2,5,6)&","&@COORD(1,$JY_2,$DTC,5)&$LL
+$LT&" "&@COORD(2,2,6,6)&","&@COORD(1,$SIMEI,$DTC,5)&SM&$LL
{LET $CT,$CT+1}{CALC}{RETURN}
データ2 DT_2 +$LT&" "&@COORD(2,4,3,6)&","&@COORD(1,$YBN,$DTC+1,5)&$LL
+$LT&" "&@COORD(2,4,4,6)&","&@COORD(1,$JY_1,$DTC+1,5)&$LL
+"{IF @CELL("&$TP&","&@COORD(1,$JY_2,$DTC+1,5)&")<>"&$BL&$LL&$LT&" "&@COORD(2,4,5,6)&","&@COORD(1,$JY_2,$DTC+1,5)&$LL
+$LT&" "&@COORD(2,4,6,6)&","&@COORD(1,$SIMEI,$DTC+1,5)&SM&$LL
{LET $CT,$CT+1}{CALC}{RETURN}
データ3 DT_3 +$LT&" "&@COORD(2,2,3+7,6)&","&@COORD(1,$YBN,$DTC+2,5)&$LL
+$LT&" "&@COORD(2,2,4+7,6)&","&@COORD(1,$JY_1,$DTC+2,5)&$LL
+"{IF @CELL("&$TP&","&@COORD(1,$JY_2,$DTC+2,5)&")<>"&$BL&$LL&$LT&" "&@COORD(2,2,5+7,6)&","&@COORD(1,$JY_2,$DTC+2,5)&$LL
+$LT&" "&@COORD(2,2,6+7,6)&","&@COORD(1,$SIMEI,$DTC+2,5)&SM&$LL
{LET $CT,$CT+1}{CALC}{RETURN}
データ4 DT_4 +$LT&" "&@COORD(2,4,3+7,6)&","&@COORD(1,$YBN,$DTC+3,5)&$LL
+$LT&" "&@COORD(2,4,4+7,6)&","&@COORD(1,$JY_1,$DTC+3,5)&$LL
+"{IF @CELL("&$TP&","&@COORD(1,$JY_2,$DTC+3,5)&")<>"&$BL&$LL&$LT&" "&@COORD(2,4,5+7,6)&","&@COORD(1,$JY_2,$DTC+3,5)&$LL
+$LT&" "&@COORD(2,4,6+7,6)&","&@COORD(1,$SIMEI,$DTC+3,5)&SM&$LL
{LET $CT,$CT+1}{CALC}{RETURN}
データ5 DT_5 +$LT&" "&@COORD(2,2,3+14,6)&","&@COORD(1,$YBN,$DTC+4,5)&$LL
+$LT&" "&@COORD(2,2,4+14,6)&","&@COORD(1,$JY_1,$DTC+4,5)&$LL
+"{IF @CELL("&$TP&","&@COORD(1,$JY_2,$DTC+4,5)&")<>"&$BL&$LL&$LT&" "&@COORD(2,2,5+14,6)&","&@COORD(1,$JY_2,$DTC+4,5)&$LL
+$LT&" "&@COORD(2,2,6+14,6)&","&@COORD(1,$SIMEI,$DTC+4,5)&SM&$LL
{LET $CT,$CT+1}{CALC}{RETURN}
データ6 DT_6 +$LT&" "&@COORD(2,4,3+14,6)&","&@COORD(1,$YBN,$DTC+5,5)&$LL
+$LT&" "&@COORD(2,4,4+14,6)&","&@COORD(1,$JY_1,$DTC+5,5)&$LL
+"{IF @CELL("&$TP&","&@COORD(1,$JY_2,$DTC+5,5)&")<>"&$BL&$LL&$LT&" "&@COORD(2,4,5+14,6)&","&@COORD(1,$JY_2,$DTC+5,5)&$LL
+$LT&" "&@COORD(2,4,6+14,6)&","&@COORD(1,$SIMEI,$DTC+5,5)&SM&$LL
{LET $CT,$CT+1}{CALC}{RETURN}
データ7 DT_7 +$LT&" "&@COORD(2,2,3+21,6)&","&@COORD(1,$YBN,$DTC+6,5)&$LL
+$LT&" "&@COORD(2,2,4+21,6)&","&@COORD(1,$JY_1,$DTC+6,5)&$LL
+"{IF @CELL("&$TP&","&@COORD(1,$JY_2,$DTC+6,5)&")<>"&$BL&$LL&$LT&" "&@COORD(2,2,5+21,6)&","&@COORD(1,$JY_2,$DTC+6,5)&$LL
+$LT&" "&@COORD(2,2,6+21,6)&","&@COORD(1,$SIMEI,$DTC+6,5)&SM&$LL
{LET $CT,$CT+1}{CALC}{RETURN}
データ8 DT_8 +$LT&" "&@COORD(2,4,3+21,6)&","&@COORD(1,$YBN,$DTC+7,5)&$LL
+$LT&" "&@COORD(2,4,4+21,6)&","&@COORD(1,$JY_1,$DTC+7,5)&$LL
+"{IF @CELL("&$TP&","&@COORD(1,$JY_2,$DTC+7,5)&")<>"&$BL&$LL&$LT&" "&@COORD(2,4,5+21,6)&","&@COORD(1,$JY_2,$DTC+7,5)&$LL
+$LT&" "&@COORD(2,4,6+21,6)&","&@COORD(1,$SIMEI,$DTC+7,5)&SM&$LL
{LET $CT,$CT+1}{CALC}{RETURN}
データ9 DT_9 +$LT&" "&@COORD(2,2,3+28,6)&","&@COORD(1,$YBN,$DTC+8,5)&$LL
+$LT&" "&@COORD(2,2,4+28,6)&","&@COORD(1,$JY_1,$DTC+8,5)&$LL
+"{IF @CELL("&$TP&","&@COORD(1,$JY_2,$DTC+8,5)&")<>"&$BL&$LL&$LT&" "&@COORD(2,2,5+28,6)&","&@COORD(1,$JY_2,$DTC+8,5)&$LL
+$LT&" "&@COORD(2,2,6+28,6)&","&@COORD(1,$SIMEI,$DTC+8,5)&SM&$LL
{LET $CT,$CT+1}{CALC}{RETURN}
データ10 DT_10 +$LT&" "&@COORD(2,4,3+28,6)&","&@COORD(1,$YBN,$DTC+9,5)&$LL
+$LT&" "&@COORD(2,4,4+28,6)&","&@COORD(1,$JY_1,$DTC+9,5)&$LL
+"{IF @CELL("&$TP&","&@COORD(1,$JY_2,$DTC+9,5)&")<>"&$BL&$LL&$LT&" "&@COORD(2,4,5+28,6)&","&@COORD(1,$JY_2,$DTC+9,5)&$LL
+$LT&" "&@COORD(2,4,6+28,6)&","&@COORD(1,$SIMEI,$DTC+9,5)&SM&$LL
{LET $CT,$CT+1}{CALC}{RETURN}
データ11 DT_11 +$LT&" "&@COORD(2,2,3+35,6)&","&@COORD(1,$YBN,$DTC+10,5)&$LL
+$LT&" "&@COORD(2,2,4+35,6)&","&@COORD(1,$JY_1,$DTC+10,5)&$LL
+"{IF @CELL("&$TP&","&@COORD(1,$JY_2,$DTC+10,5)&")<>"&$BL&$LL&$LT&" "&@COORD(2,2,5+35,6)&","&@COORD(1,$JY_2,$DTC+10,5)&$LL
+$LT&" "&@COORD(2,2,6+35,6)&","&@COORD(1,$SIMEI,$DTC+10,5)&SM&$LL
{LET $CT,$CT+1}{CALC}{RETURN}
データ12 DT_12 +$LT&" "&@COORD(2,4,3+35,6)&","&@COORD(1,$YBN,$DTC+11,5)&$LL
+$LT&" "&@COORD(2,4,4+35,6)&","&@COORD(1,$JY_1,$DTC+11,5)&$LL
+"{IF @CELL("&$TP&","&@COORD(1,$JY_2,$DTC+11,5)&")<>"&$BL&$LL&$LT&" "&@COORD(2,4,5+35,6)&","&@COORD(1,$JY_2,$DTC+11,5)&$LL
+$LT&" "&@COORD(2,4,6+35,6)&","&@COORD(1,$SIMEI,$DTC+11,5)&SM&$LL
{LET $CT,$CT+1}{CALC}{RETURN}
まくろ1 MCR_1 {LET SAI,0}{CALC}
CTRL+Lで実行 +"{GOTO}"&CEL&"~"
MCR_1BR {IF @CELLPOINTER("TYPE")="b"}{LET SAI,@CELLPOINTER("ROW")-1}{GOTO}C:A1~{GOTO}C:C12~{QUIT}
{D}
{BRANCH MCR_1BR}
まくろ2 MCR_2 {CLR}
CTRL+Zで実行 MCR_2RP {CALC}{IF LCT>ZYS}{QUIT}
{IF CT=ZL}{QUIT}
{CL_2}
{DT_1}
{IF CT=ZL}{BRANCH LPN}
{DT_2}
{IF CT=ZL}{BRANCH LPN}
{DT_3}
{IF CT=ZL}{BRANCH LPN}
{DT_4}
{IF CT=ZL}{BRANCH LPN}
{DT_5}
{IF CT=ZL}{BRANCH LPN}
{DT_6}
{IF CT=ZL}{BRANCH LPN}
{DT_7}
{IF CT=ZL}{BRANCH LPN}
{DT_8}
{IF CT=ZL}{BRANCH LPN}
{DT_9}
{IF CT=ZL}{BRANCH LPN}
{DT_10}
{IF LBT=10}{BRANCH LPN}
{IF CT=ZL}{BRANCH LPN}
{DT_11}
{IF CT=ZL}{BRANCH LPN}
{DT_12}
{IF LBT=12}{BRANCH LPN}
{QUIT}
印刷 LPN {LET LCT,LCT+1}{CALC}
{PRINT "selection"}
{BRANCH MCR_2RP}