| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1469 人关注过本帖
标题:请教交换“整块”
只看楼主 加入收藏
fdxxhjc
Rank: 1
等 级:新手上路
帖 子:305
专家分:0
注 册:2014-4-10
结帖率:73.44%
收藏
已结贴  问题点数:20 回复次数:19 
请教交换“整块”
各位前辈好,前次曾请教过sdta和kiff两位先生关于任意交换整行(那次是共7行的问题,可以是任意交换2行或3行或4行...直至7行,行的次序与原表行次序不一样就算一种新情况)的问题。现在请教关于任意交换“整块”的问题:是这样,共5块,每块5行5列(既然是“整块”交换,故我想每块几行几列是无关的),块的次序与原表中块的次序不一样时就算得到一种新情况,谢谢先生指教,诚挚的感谢(下面所附的每块5行5列粘在一起了,在excel表中比较明显)
1    2    3    4    5
6    7    8    9    10
11    12    13    14    15
16    17    18    19    20
21    22    23    24    25
26    27    28    29    30
31    32    33    34    35
36    37    38    39    40
41    42    43    44    45
46    47    48    49    50
51    52    53    54    55
56    57    58    59    60
61    62    63    64    65
66    67    68    69    70
71    72    73    74    75
76    77    78    79    80
81    82    83    84    85
86    87    88    89    90
91    92    93    94    95
96    97    98    99    100
101    102    103    104    105
106    107    108    109    110
111    112    113    114    115
116    117    118    119    120
121    122    123    124    125
搜索更多相关主题的帖子: excel 
2015-01-07 10:57
wp231957
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:神界
等 级:贵宾
威 望:423
帖 子:13688
专家分:53332
注 册:2012-10-18
收藏
得分:3 
在自由表中交换??在excel表中交换???

DO IT YOURSELF !
2015-01-07 11:01
厨师王德榜
Rank: 18Rank: 18Rank: 18Rank: 18Rank: 18
等 级:贵宾
威 望:199
帖 子:989
专家分:4966
注 册:2013-2-16
收藏
得分:3 
如果是交换“块”,感觉在excel中直接用VBA比在VFP中效率更高,因为VBA可直接操纵EXCEL复制、粘贴,用range(Cell(行1,列1),Cell(行2,列2))来定义块也很容易,为何不试一下呢?代码这里就不写了,很简单的。
2015-01-07 11:12
fdxxhjc
Rank: 1
等 级:新手上路
帖 子:305
专家分:0
注 册:2014-4-10
收藏
得分:0 
回复 2楼 wp231957
想用VFP代码交换,谢谢先生
2015-01-07 11:16
fdxxhjc
Rank: 1
等 级:新手上路
帖 子:305
专家分:0
注 册:2014-4-10
收藏
得分:0 
回复 3楼 厨师王德榜
先生您好,VBA代码我不会搞,麻烦您能否帮我搞下代码,谢谢先生
2015-01-07 11:18
kiff
Rank: 11Rank: 11Rank: 11Rank: 11
来 自:广州
等 级:贵宾
威 望:46
帖 子:756
专家分:2531
注 册:2013-1-30
收藏
得分:3 
用我原代码稍修改一下,看看是不是你所说的按“块”排列
CLOSE DATABASES
CREATE CURSOR 原表 (a c(4),b c(4),c c(4),d c(4),e c(4))
FOR i=1 TO 25
    INSERT INTO 原表 (a) VALUES (TRANSFORM(i))
ENDFOR
GO TOP IN 原表

SELECT * FROM 原表 INTO CURSOR 新表 WHERE .f. READWRITE  &&原表可换你的表
FOR I1=1 TO 5
    FOR I2=1 TO 5
        IF i2<>i1
            FOR I3=1 TO 5
                IF i3<>i2 AND i3<>i1
                    FOR I4=1 TO 5
                        IF i4<>i3 AND i4<>i2 AND i4<>i1
                            FOR I5=1 TO 5
                                IF i5<>i4 AND i5<>i3 AND i5<>i2 AND i5<>i1
                                    INSERT INTO 新表 SELECT * FROM 原表 WHERE CEILING(RECNO()/5)=I1
                                    INSERT INTO 新表 SELECT * FROM 原表 WHERE CEILING(RECNO()/5)=I2
                                    INSERT INTO 新表 SELECT * FROM 原表 WHERE CEILING(RECNO()/5)=I3
                                    INSERT INTO 新表 SELECT * FROM 原表 WHERE CEILING(RECNO()/5)=I4
                                    INSERT INTO 新表 SELECT * FROM 原表 WHERE CEILING(RECNO()/5)=I5
                                    APPEND BLANK IN 新表
                                ENDIF
                            ENDFOR
                        ENDIF
                    ENDFOR
                ENDIF
            ENDFOR
        ENDIF
    ENDFOR
ENDFOR
SELECT 新表
COPY TO 新表
BROWSE
2015-01-07 12:19
fdxxhjc
Rank: 1
等 级:新手上路
帖 子:305
专家分:0
注 册:2014-4-10
收藏
得分:0 
回复 6楼 kiff
哦,先生您好,运行的结果在新表中只有第一列有数据,后面四列都是空白
2015-01-07 12:33
fdxxhjc
Rank: 1
等 级:新手上路
帖 子:305
专家分:0
注 册:2014-4-10
收藏
得分:0 
回复 7楼 fdxxhjc
并且第一列中的数据只是1-25的顺序号,不是原表中的数据
2015-01-07 12:36
fdxxhjc
Rank: 1
等 级:新手上路
帖 子:305
专家分:0
注 册:2014-4-10
收藏
得分:0 
回复 8楼 fdxxhjc
先生我把原表的dbf文件发给您吗
2015-01-07 12:38
fdxxhjc
Rank: 1
等 级:新手上路
帖 子:305
专家分:0
注 册:2014-4-10
收藏
得分:0 
回复 6楼 kiff
并且第一列中的数据只是1-25的顺序号,不是原表中的数据,先生是否我把原表的dbf文件发给您
2015-01-07 12:41
快速回复:请教交换“整块”
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.020776 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved