希望翻转在Excel中呈现的查询的轴

我正在创build一个简单的Excel文件,它将在一个表中显示SQL查询的结果。 唯一的问题是我希望水平显示列而不是垂直IE:

Column name | val | val | val | Column name | val | val | val | Column name | val | val | val | 

我已经研究了选项,我发现最常见的是使用编辑下的移调选项,但这不是我的select,因为数据不会自动重置。 我似乎无法find格式的configuration下或在创build查询期间的选项。 我在Micorsoft Query中创build了查询本身,并在下面(轻微修整以便于阅读):

 SELECT SMPL_HDR.SMPL_HDR_KEY, SMPL_HDR.SMPL_DATE, SMPL_HDR.GROWER_NAME, SMPL_HDR.BREEDCROSS, SMPL_HDR.FLOCK_AGE, SMPL_HDR.HOUSE_NUMBER, SMPL_HDR.TEST_TYPE, SMPL_HDR.LOCATION, SMPL_HDR.USER_ID, SMPL_HDR.DATE_ENTERED, SMPL_DTL.SMPL_DTL_KEY, SMPL_DTL.PAWS_WGT, SMPL_DTL.NECK_SKIN_WGT, SMPL_DTL.NECK_WGT, SMPL_DTL.HEART_WGT, SMPL_DTL.LIVER_WGT, SMPL_DTL.PLD_GIZZARD_WGT, SMPL_DTL.FAT_WGT, SMPL_DTL.PRE_CHILL_WGT, SMPL_DTL.PST_CHILL_WGT, FROM EYIS.dbo.SMPL_DTL SMPL_DTL, EYIS.dbo.SMPL_HDR SMPL_HDR WHERE SMPL_DTL.SMPL_HDR_KEY = SMPL_HDR.SMPL_HDR_KEY AND ((SMPL_HDR.DATE_ENTERED=?)) 

我会apreciate你可以提供任何帮助。 感觉就像在我面前有一个configuration选项,我没有看到。

如果您对VBAmacros感到满意,则可以创build一个macros来转置结果并在运行查询后调用该macros。 (不知道你要捕捉哪个事件,你没有提供很多关于如何填充工作表的细节。)我的VBA非常生锈,但是我迅速地尝试了一下,这里是一些testing数据我…

 Option Explicit Public Sub TransposeCells() Dim iRow As Integer Dim iCol As Integer Dim iMaxRow As Integer Dim iMaxCol As Integer Dim Sheet As Excel.Worksheet Dim newSheet As Excel.Worksheet Dim Rng As Excel.Range Dim newRng As Excel.Range iRow = 1 iCol = 1 Set Sheet = Application.ActiveSheet ' Find maximum boundaries Set Rng = Sheet.Cells(iRow, iCol) While (Rng.Text <> "") iRow = iRow + 1 Set Rng = Sheet.Cells(iRow, iCol) Wend iMaxRow = iRow - 1 iRow = 1 Set Rng = Sheet.Cells(iRow, iCol) While (Rng.Text <> "") iCol = iCol + 1 Set Rng = Sheet.Cells(iRow, iCol) Wend iMaxCol = iCol - 1 iCol = 1 ' Add new sheet for the results Set newSheet = Worksheets.Add() newSheet.Name = "Transposed" ' Transpose the results For iRow = 1 To iMaxRow For iCol = 1 To iMaxCol Set Rng = Sheet.Cells(iRow, iCol) Set newRng = newSheet.Cells(iCol, iRow) newRng.Select ActiveCell.Value = Rng.Text Next iCol Next iRow End Sub