⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 -

📁 VB开发的ERP系统
💻
字号:
VERSION 5.00
Object = "{DD44C0E7-B2CF-11D1-8DD3-444553540000}#1.0#0"; "CELL32.OCX"
Begin VB.Form frm_sjzz 
   Caption         =   "数据转置"
   ClientHeight    =   4575
   ClientLeft      =   60
   ClientTop       =   345
   ClientWidth     =   6840
   HelpContextID   =   1014004
   Icon            =   "数据转置.frx":0000
   LinkTopic       =   "Form1"
   MaxButton       =   0   'False
   MinButton       =   0   'False
   ScaleHeight     =   4575
   ScaleWidth      =   6840
   StartUpPosition =   1  '所有者中心
   Begin VB.Frame Frame1 
      Caption         =   "公式选项"
      Height          =   1065
      Left            =   5400
      TabIndex        =   6
      Top             =   120
      Width           =   1335
      Begin VB.OptionButton Option2 
         Caption         =   "返回结果"
         Height          =   255
         Left            =   120
         TabIndex        =   8
         Top             =   630
         Width           =   1095
      End
      Begin VB.OptionButton Option1 
         Caption         =   "返回公式"
         Height          =   375
         Left            =   120
         TabIndex        =   7
         Top             =   240
         Value           =   -1  'True
         Width           =   1095
      End
   End
   Begin VB.CommandButton Command5 
      Caption         =   "复原"
      Height          =   375
      Left            =   5550
      TabIndex        =   5
      Top             =   3180
      Width           =   1095
   End
   Begin VB.CommandButton Command4 
      Caption         =   "取消(&C)"
      Height          =   375
      Left            =   5550
      TabIndex        =   4
      Top             =   4080
      Width           =   1095
   End
   Begin VB.CommandButton Command3 
      Caption         =   "确定(&O)"
      Height          =   375
      Left            =   5550
      TabIndex        =   3
      Top             =   3630
      Width           =   1095
   End
   Begin VB.CommandButton Command2 
      Caption         =   "行反向"
      Height          =   375
      Left            =   5550
      TabIndex        =   2
      Top             =   2730
      Width           =   1095
   End
   Begin VB.CommandButton Command1 
      Caption         =   "列反向"
      Height          =   375
      Left            =   5550
      TabIndex        =   1
      Top             =   2280
      Width           =   1095
   End
   Begin CELLLib.Cell Cell1 
      Height          =   4335
      Left            =   120
      TabIndex        =   0
      Top             =   120
      Width           =   5175
      _Version        =   65536
      _ExtentX        =   9128
      _ExtentY        =   7646
      _StockProps     =   0
   End
End
Attribute VB_Name = "frm_sjzz"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False
'***********************************************
'*    模 块 名 称 :数据转置
'*    功 能 描 述 :
'*    程序员姓名  :奚俊峰
'*    最后修改人  :奚俊峰
'*    最后修改时间:2002/01/21
'***********************************************

Option Explicit

Private Sub Command1_Click()
    Dim i As Long, j As Long, ll_cols As Long, ll_rows As Long
    Dim lvar_data1, lvar_data2, ll_cell1 As Long, ll_cell2 As Long '标记是否为公式,0公式,1数据
    ll_cols = Cell1.Cols
    ll_rows = Cell1.Rows
    For i = 0 To ll_cols \ 2 - 1
        For j = 0 To ll_rows - 1
            
            If Cell1.IsFormulaCell(i, j) Then
                Cell1.DoGetFormula i, j, lvar_data1
                ll_cell1 = 0
            Else
                Cell1.DoGetCellData i, j, lvar_data1
                ll_cell1 = 1
            End If
            If Cell1.IsFormulaCell(ll_cols - i - 1, j) Then
                Cell1.DoGetFormula ll_cols - i - 1, j, lvar_data2
                ll_cell2 = 0
            Else
                Cell1.DoGetCellData ll_cols - i - 1, j, lvar_data2
                ll_cell2 = 1
            End If
            If ll_cell1 = 0 Then
                Cell1.DoClearCell ll_cols - i - 1, j, 0
                Cell1.DoSetFormula ll_cols - i - 1, j, lvar_data1
            Else
                If lvar_data1 = "" Then
                    Cell1.DoClearCell ll_cols - i - 1, j, 0
                    Cell1.DoClearCell ll_cols - i - 1, j, 0
                Else
                    Cell1.DoClearCell ll_cols - i - 1, j, 0
                    Cell1.DoSetCellData ll_cols - i - 1, j, lvar_data1
                End If
            End If
            If ll_cell2 = 0 Then
                Cell1.DoClearCell i, j, 0
                Cell1.DoSetFormula i, j, lvar_data2
            Else
                If lvar_data2 = "" Then
                    Cell1.DoClearCell i, j, 0
                    Cell1.DoClearCell i, j, 0
                Else
                    Cell1.DoClearCell i, j, 0
                    Cell1.DoSetCellData i, j, lvar_data2
                End If
            End If
            
        Next j
    Next i
    Cell1.DoCalculateAll
    Cell1.DoRedrawAll
End Sub

Private Sub command2_Click()
    Dim i As Long, j As Long, ll_cols As Long, ll_rows As Long
    Dim lvar_data1, lvar_data2, ll_cell1 As Long, ll_cell2 As Long '标记是否为公式,0公式,1数据
    ll_cols = Cell1.Cols
    ll_rows = Cell1.Rows
    For i = 0 To ll_rows \ 2 - 1
        For j = 0 To ll_cols - 1
            
            If Cell1.IsFormulaCell(j, i) Then
                Cell1.DoGetFormula j, i, lvar_data1
                ll_cell1 = 0
            Else
                Cell1.DoGetCellData j, i, lvar_data1
                ll_cell1 = 1
            End If
            If Cell1.IsFormulaCell(j, ll_rows - i - 1) Then
                Cell1.DoGetFormula j, ll_rows - i - 1, lvar_data2
                ll_cell2 = 0
            Else
                Cell1.DoGetCellData j, ll_rows - i - 1, lvar_data2
                ll_cell2 = 1
            End If
            If ll_cell1 = 0 Then
                Cell1.DoClearCell j, ll_rows - i - 1, 0
                Cell1.DoSetFormula j, ll_rows - i - 1, lvar_data1
            Else
                If lvar_data1 = "" Then
                    Cell1.DoClearCell j, ll_rows - i - 1, 0
                    Cell1.DoClearCell j, ll_rows - i - 1, 0
                Else
                    Cell1.DoClearCell j, ll_rows - i - 1, 0
                    Cell1.DoSetCellData j, ll_rows - i - 1, lvar_data1
                End If
            End If
            If ll_cell2 = 0 Then
                Cell1.DoClearCell j, i, 0
                Cell1.DoSetFormula j, i, lvar_data2
            Else
                If lvar_data2 = "" Then
                    Cell1.DoClearCell j, i, 0
                    Cell1.DoClearCell j, i, 0
                Else
                    Cell1.DoClearCell j, i, 0
                    Cell1.DoSetCellData j, i, lvar_data2
                End If
            End If
            
        Next j
    Next i
    Cell1.DoCalculateAll
    Cell1.DoRedrawAll
End Sub

Private Sub Command3_Click()
    Dim ll_col_begin, ll_row_begin
    Dim ll_col_end, ll_row_end
    Dim i As Long, j As Long
    Dim lvar_data
    With MDI_frame.ActiveForm
        .Cell1.DoGetSelectRange ll_col_begin, ll_row_begin, ll_col_end, ll_row_end
        
        For i = 0 To ll_col_end - ll_col_begin
            For j = 0 To ll_row_end - ll_row_begin
                .Cell1.DoClearCell i + ll_col_begin, j + ll_row_begin, 0
                .Cell1.DoClearCell i + ll_col_begin, j + ll_row_begin, 0
                
                If Cell1.IsFormulaCell(i, j) And Option1.Value = True Then
                    Cell1.DoGetFormula i, j, lvar_data
                    .Cell1.DoSetFormula i + ll_col_begin, j + ll_row_begin, lvar_data
                Else
                    Cell1.DoGetCellData i, j, lvar_data
                    If lvar_data = "" Then
                        .Cell1.DoClearCell i + ll_col_begin, j + ll_row_begin, 0
                        .Cell1.DoClearCell i + ll_col_begin, j + ll_row_begin, 0
                    Else
                        .Cell1.DoSetCellData i + ll_col_begin, j + ll_row_begin, lvar_data
                    End If
                End If
            Next j
        Next i
        .Cell1.DoRedrawAll
    End With
    Unload Me
    
End Sub

Private Sub Command4_Click()
    Unload Me
    
End Sub


Private Sub Command5_Click()
    Dim ll_col_begin, ll_row_begin
    Dim ll_col_end, ll_row_end
    Dim i As Long, j As Long
    Dim lvar_data
    Cell1.CalcManaually = 0
    With MDI_frame.ActiveForm
        .Cell1.DoGetSelectRange ll_col_begin, ll_row_begin, ll_col_end, ll_row_end
        For i = 0 To ll_col_end - ll_col_begin
            For j = 0 To ll_row_end - ll_row_begin
                If .Cell1.IsFormulaCell(i + ll_col_begin, j + ll_row_begin) Then
                    .Cell1.DoGetFormula i + ll_col_begin, j + ll_row_begin, lvar_data
                    Cell1.DoSetFormula i, j, lvar_data
                Else
                    .Cell1.DoGetCellData i + ll_col_begin, j + ll_row_begin, lvar_data
                    If lvar_data = "" Then
                        Cell1.DoClearCell i, j, 0
                        Cell1.DoClearCell i, j, 0
                    Else
                        Cell1.DoSetCellData i, j, lvar_data
                    End If
                End If
            Next j
        Next i
    End With
    Cell1.DoRedrawAll
End Sub


Private Sub Form_Load()
    Dim ll_col_begin, ll_row_begin
    Dim ll_col_end, ll_row_end
    Dim i As Long, j As Long
    Dim lvar_data
    Cell1.CalcManaually = 0
    With MDI_frame.ActiveForm
        .Cell1.DoGetSelectRange ll_col_begin, ll_row_begin, ll_col_end, ll_row_end
        Cell1.Cols = ll_col_end - ll_col_begin + 1
        Cell1.Rows = ll_row_end - ll_row_begin + 1
        
        For i = 0 To ll_col_end - ll_col_begin
            For j = 0 To ll_row_end - ll_row_begin
                If .Cell1.IsFormulaCell(i + ll_col_begin, j + ll_row_begin) Then
                    .Cell1.DoGetFormula i + ll_col_begin, j + ll_row_begin, lvar_data
                    Cell1.DoSetFormula i, j, lvar_data
                Else
                    .Cell1.DoGetCellData i + ll_col_begin, j + ll_row_begin, lvar_data
                    If lvar_data <> "" Then
                        Cell1.DoSetCellData i, j, lvar_data
                    End If
                End If
            Next j
        Next i
    End With
End Sub

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -