台州网站建设策划,怎么做自助交易网站,建设公司logo图片大全,阿升网站免费学设计在Excel里利用坐标绘图时#xff0c;可以比较容易想到采用数据透视表#xff0c;但是数据透视表生成的图不可更改#xff0c;因此本案例采用VBA进行坐标变换而不改变原始值来转换图像#xff0c;即实现图像的左右翻转和上下翻转#xff0c;如下图所示#xff0c;选择map的…在Excel里利用坐标绘图时可以比较容易想到采用数据透视表但是数据透视表生成的图不可更改因此本案例采用VBA进行坐标变换而不改变原始值来转换图像即实现图像的左右翻转和上下翻转如下图所示选择map的坐标象限后点击“start”即可实现图像的翻转方向。 利用坐标画图即将横纵坐标对应excel的行和列将数值写入单元格中从而形成带行列的map,具体做法已经在VBA应用实战案例5里面阐述过本案例的重点是利用特定公式转换坐标的方法来转换数值在excel中的位置从而实现图像变换的目的。
具体实现代码如下值得注意的是案例中定义的象限和数学中的象限并不一样只是便于表达而已可以根据需要修改成其他描述。
Private Sub ComboBox1_Change()Quadrant ComboBox1.Text
End SubPrivate Sub Workbook_Open()
Sheet1.ComboBox1.Clear
Sheet1.ComboBox1.AddItem 1st
Sheet1.ComboBox1.AddItem 2nd
Sheet1.ComboBox1.AddItem 4thSheet1.ComboBox1.Text 1st
Quadrant 1st
End SubPublic Quadrant As String
Sub Macro1()Sheets(Map).SelectSheet3.Cells.SelectWith Selection.ClearContentsEnd WithWith Sheet1X_Max .Cells(3, 3)Y_Max .Cells(3, 5)End WithDim Map_bin(99, 99)GrossDie 9999For i 1 To GrossDieWith Sheet2t1 .Cells(i 1, 1)t2 .Cells(i 1, 2)t3 .Cells(i 1, 3)End WithMap_bin(t1, t2) t3NextFor X 1 To X_MaxFor Y 1 To Y_MaxWith Sheet3Select Case (Quadrant)Case 4th.Cells(1, X 1) X - 1.Cells(Y 1, 1) Y - 1.Cells(Y 1, X 1) Map_bin(X - 1, Y - 1)Case 2nd.Cells(Y_Max 1, X) X_Max - X.Cells(Y, X_Max 1) Y_Max - Y.Cells(Y_Max - Y 1, X_Max - X 1) Map_bin(X - 1, Y - 1)Case 1st.Cells(Y_Max 1, X 1) X - 1.Cells(Y, 1) Y_Max - Y.Cells(Y_Max - Y 1, X 1) Map_bin(X - 1, Y - 1)End SelectEnd WithNextNextEnd Sub代码实现效果如下图。
4th象限坐标 2nd象限坐标 1st象限坐标