Microsoft Excel

Herbers Excel/VBA-Archiv

Ausgabe verändern!!

Betrifft: Ausgabe verändern!! von: Snewi
Geschrieben am: 01.11.2012 09:46:36

Hallo,

ich habe von Tino (Danke nochmal :-)) folgenden Code:

Sub ListeIds(oDic As Object)
Dim ArrData, ArrAus(), n&, nn&, nCount&
With Tabelle7
    ArrData = .Range("A2", .Cells(.Rows.Count, 1).End(xlUp)).Resize(, 3)
End With
ReDim ArrAus(1 To UBound(ArrData), 1 To 3)
For n = 1 To UBound(ArrData)
    If oDic.exists(ArrData(n, 1)) Then
        nCount = nCount + 1
        For nn = 1 To UBound(ArrData, 2)
            ArrAus(nCount, nn) = ArrData(n, nn)
        Next nn
    End If
Next n

With Tabelle6
'    Application.EnableEvents = False
        .Range("C52:G" & Rows.Count).Clear
        If nCount > 0 Then
            With .Range("C52").Resize(nCount, 3)
                .Value = ArrAus
                .Sort Key1:=.Cells(1, 1), Order1:=xlAscending, Header:=xlNo
                .HorizontalAlignment = xlCenter
            End With
        End If
'    Application.EnableEvents = True
End With

End Sub
Es wird nun das Ergebnis ab C52 in die nächsten 3 Spalten geschrieben!
Ich möchte aber das Ergebnis von allen drei Spalten in verschieden Spalten ablegen und nicht hintereinander!
Z.B. 1 Spalte in C, 2 in E und 3 in G!

Geht das?

Gruß

  

Betrifft: AW: Ausgabe verändern!! von: Tino
Geschrieben am: 01.11.2012 10:35:44

Hallo,
entweder Du baust dieses Ausgabe Array gleich entsprechend auf
oder wir ziehen die Spalte einzelnen raus und schreiben diese in die entsprechenden Spalte.

Hier mal Variante 2

With Tabelle6
    .Range("C52:G" & Rows.Count).Clear
    If nCount > 0 Then
        ArrAus = Application.Transpose(ArrAus)
        ReDim Preserve ArrAus(1 To 3, 1 To nCount)
        With .Range("C52").Resize(nCount, 5)
            .Columns(1).Value = Application.Transpose(Application.Index(ArrAus, 1))
            .Columns(3).Value = Application.Transpose(Application.Index(ArrAus, 2))
            .Columns(5).Value = Application.Transpose(Application.Index(ArrAus, 3))
            .Sort Key1:=.Cells(1, 1), Order1:=xlAscending, Header:=xlNo
            .HorizontalAlignment = xlCenter
        End With
    End If
End With
Gruß Tino


  

Betrifft: AW: Ausgabe verändern!! von: Snewi
Geschrieben am: 01.11.2012 10:53:13

Das klappt schon mal! Wenn ich jetzt noch die erste Spalte fett haben möchte und die zweite Spalte z.b. linksbündig?

Gruß


  

Betrifft: wie stehst Du zur Selbsthilfe? owT von:
Geschrieben am: 01.11.2012 10:55:11




  

Betrifft: AW: wie stehst Du zur Selbsthilfe? owT von: Snewi
Geschrieben am: 01.11.2012 10:59:19

Ihr habt recht aber bin einfach zu neu auf diesem Gebiet! Hab schon viel gelernt aber viele Sachen versteh ich noch nicht so ganz :-)

Danke für die Info, aber wozu gibt es so ein Forum? Dann könnte sich ja jeder selbst helfen oder?
Muss ich jetzt mit schlechtem Gewissen hier Beiträge einstellen?

gruß


  

Betrifft: AW: wie stehst Du zur Selbsthilfe? owT von: Hajo_Zi
Geschrieben am: 01.11.2012 11:08:01

benutze den Makrorecorder. Einige Sachen kann man auch alleine machen.

GrußformelHomepage


  

Betrifft: AW: wie stehst Du zur Selbsthilfe? owT von: Snewi
Geschrieben am: 01.11.2012 11:12:42

Mach ich ja!
Siehe Beispiel anderer Beitrag von mir! Nutze um Formeln zu aktualisieren die Autofill-Methode! Dauert ewig!
Guter Tipp hier im Forum und ich bin total glücklich :-)

Ich will hier z.B. noch das Format ändern für die Dauer! Makrorecorder:
.Columns(3).NumberFormat = "0 ""min"""

klappt aber nicht! Woher weiss ich dann wie es richtiger ist?

Gruß


  

Betrifft: AW: wie stehst Du zur Selbsthilfe? owT von: Hajo_Zi
Geschrieben am: 01.11.2012 11:15:05

das ist bestimmt nicht der gesamtze Code vom Makrorecorder. Da steht noch irgendwo die Tabelle und dann klappt es auch.

Gruß Hajo


  

Betrifft: OT: Selbsthilfe und namenlose Einträge von: Klaus M.vdT.
Geschrieben am: 01.11.2012 11:11:48

Hallo Fremder ohne Namen,
ist ja auch nicht die feine Art, hier anonym zu dissen, oder?
Ich werf mal meine Meinung in den Raum: Snewi fragt hier viel, sogar sehr viel. Macht dabei aber alles richtig. Die Fragen sind in verschiedenen Threads (das wird hier sogar gefordert!), es gibt immer zügig Rückmeldungen und Danksagungen (vermisse ich hier bei vielen anderen Fragenden!) und die weiteren Nachfragen beziehen sich immer sachlich auf das Thema.
Find ich vieeeel besser als die vielen stumpfen Anfragen nach unbezahlter Auftragsprogrammierung, den Crosspostings, den fehlenden Rückmeldungen ...
Also: ICH antworte einem Frager wie Snewi gerne. Wenns mir zu viel werden sollte, würde ich höflich posten "sorry, ich bin jetzt raus" und den Thread wieder auf offen stellen. Sollte jeder andere genauso machen.
Snewi, es gibt hier keine Forumspolizei. Solange sich Hans W. Herber selbst nicht einschaltet, kannst du namenlose Einträge wie den oberen als "getrolle" abtuen.

Grüße,
Klaus M.vdT.


  

Betrifft: AW: OT: Selbsthilfe und namenlose Einträge von: Snewi
Geschrieben am: 01.11.2012 11:21:21

Danke Klaus,

ich finde diese Forum einfach genial und das beste ich lerne jeden Tag dazu auch wenn ich noch kein Profi bin!

Ich werde weiter posten und wenn euch das zu viel wird sagt es mir ruhig :-)

Gruß
Snewi


  

Betrifft: AW: Ausgabe verändern!! von: Tino
Geschrieben am: 01.11.2012 10:59:09

Hallo,
einfach so

With Tabelle6
    .Range("C52:G" & Rows.Count).Clear
    If nCount > 0 Then
        ArrAus = Application.Transpose(ArrAus)
        ReDim Preserve ArrAus(1 To 3, 1 To nCount)
        With .Range("C52").Resize(nCount, 5)
            .Columns(1).Value = Application.Transpose(Application.Index(ArrAus, 1))
            .Columns(3).Value = Application.Transpose(Application.Index(ArrAus, 2))
            .Columns(5).Value = Application.Transpose(Application.Index(ArrAus, 3))
            .Sort Key1:=.Cells(1, 1), Order1:=xlAscending, Header:=xlNo
            .HorizontalAlignment = xlCenter
            .Columns(1).Font.Bold = True
            .Columns(3).HorizontalAlignment = xlLeft
        End With
    End If
End With
Gruß Tino


  

Betrifft: AW: Ausgabe verändern!! von: Snewi
Geschrieben am: 01.11.2012 11:22:40

Danke Tino,

oder gäbe es ene möglichkeit die Formatierung der Zellen wo reingeschrieben so zu lassen wie ich sie Formatiert habe?
Die werden immer wieder überschrieben ;-(

gruß


  

Betrifft: AW: Ausgabe verändern!! von: Tino
Geschrieben am: 01.11.2012 11:24:56

Hallo,
ja kann man auch machen.

Mach aus der Zeile

.Range("C52:G" & Rows.Count).Clear
diese
.Range("C52:G" & Rows.Count).ClearContents
Gruß Tino


 

Beiträge aus den Excel-Beispielen zum Thema "Ausgabe verändern!!"