2016-12-14 1 views
0

Aus irgendeinem Grund werden bei jedem Ausführen dieses Codes alle Daten auf dem neuen Blatt ausgeblendet.
Die Zeilenhöhen werden auf 0 gesetztFügen Sie Daten in ein neues Blatt ein und alle Zellen sind ausgeblendet.

Ich habe die Maus zu verwenden, auf die Zeilenhöhe ziehen die letzte Zelle sichtbar dann machen von dort aus kann ich auf eine Zelle klicken und „get up“ auf die Daten.

Wie kann ich das beheben? Es ist sehr nervig.
Ist es etwas mit meinem Code oder muss ich die Zeilenhöhe nach dem Einfügen von Daten so einstellen?

enter image description here

enter image description here

NumMax = NumMax + 1 'there is more code above that sets NumMax 

ThisWorkbook.Activate 
ThisWorkbook.Sheets.Add(After:=wb.Sheets(wb.Sheets.Count)).Name = "XCFIL_" & NumMax 
ThisWorkbook.Sheets.Add(After:=wb.Sheets(wb.Sheets.Count)).Name = "Resultat_" & NumMax 

Sheets("XCFIL").Activate 
Cells.Copy 
Sheets("XCFIL_" & NumMax).Activate 
Range("A1").PasteSpecial xlPasteAll 
Range("A1").Select ' a try to get up in the sheet, but it does not work 

EDIT: Code Scheiben: enter image description here

+1

Versuchen Sie, 'Sheets (" XCFIL_ "& NumMax) .Cells.RowHeight = 10' am Ende Ihres Codes hinzuzufügen. – nightcrawler23

+0

Ist das alles der Code? Was passiert nach 'Range (" A1 "). Wählen Sie"? " – BruceWayne

+0

Ich habe diese 'Worksheets (" XCFIL_1 "). Range (" A1: A "& Rows.Count) .Rows.AutoFit" zur gleichen Zeit wie ich diese Frage gepostet, und der Computer läuft immer noch den Code. Es ist jetzt zu 25% fertig. – Andreas

Antwort

1

Per Chat, eine schnelle Lösung ist:

'Other option is to simply copy/paste the sheet 
NumMax = NumMax + 1 'there is more code above that sets NumMax 
With ThisWorkbook 
.Sheets("XCFIL").Copy After:=.Sheets(.Sheets.Count) 
ActiveSheet.Name = "XCFIL_" & NumMax 
End With 

Aber ich arbeitete an die unten, die können arbeite auch.

Sub t() 
Dim originWS As Worksheet, destWS As Worksheet 
Dim NumMax As Long 

NumMax = NumMax + 1 'there is more code above that sets NumMax 

With ThisWorkbook 
Set originWS = .Sheets("XCFIL") 
Set destWS = .Sheets.Add(After:=.Sheets(.Sheets.Count)) 
destWS.Name = "XCFIL_" & NumMax 
End With 

Dim copyRng As Range 
Dim lastCol As Long, lastRow As Long 

With originWS 
    lastCol = .Cells(1, .Columns.Count).End(xlToLeft).Column 
    lastRow = .Cells(.Rows.Count, 1).End(xlUp).Row 
    Set copyRng = .Range(.Cells(1, 1), .Cells(lastRow, lastCol)) 'assuming your data starts in A1 
End With 

destWS.Range(destWS.Cells(1, 1), destWS.Cells(lastRow, lastCol)).Value = _ 
    copyRng.Value 
End Sub 

Und als Anmerkung, es ist immer eine gute Idee, avoid using .Select/.Activate.

Auch dies kommt nicht zu dem sehr schrulligen Thema der Zeilen unter PasteSpecial versteckt. ... aber gut, wenn es funktioniert, funktioniert es.

+0

Vielen Dank! – Andreas

+0

@Andreas du bist willkommen! Aus Neugierde funktioniert das zweite Makro? Ich bin gespannt, ob und wenn die Zeilen sichtbar bleiben. Sie brauchen nicht viel mehr Zeit damit zu verbringen, aber wenn Sie ein paar zusätzliche Minuten Zeit haben, würde mich das interessieren. – BruceWayne

+0

Ich werde es später versuchen, habe keine Zeit, es jetzt zu tun. – Andreas

Verwandte Themen