Collapse column

Beiträge anzeigen

Diese Sektion erlaubt es dir alle Beiträge dieses Mitglieds zu sehen. Beachte, dass du nur solche Beiträge sehen kannst, zu denen du auch Zugriffsrechte hast.


Nachrichten - Tim1711

Seiten: [1]
1
Excel / Antw:Office 2013: Diagramm mit VBA - Fehlermeldungen
« am: August 31, 2016, 13:53:37 Nachmittag »
hab meinen fehler gefunden. ich musste die zeile ThisWorkbook.Worksheets("RAM").Activate nach ganz oben setzen

2
Excel / Office 2013: Diagramm mit VBA - Fehlermeldungen
« am: August 31, 2016, 09:41:15 Vormittag »
Hallo,

Ich möchte mittels VBA ein Diagramm erstellen und bin mittlerweile so weit gekommen:

Dim cntrclm As Integer, cntrrws As Integer
    With ThisWorkbook.Worksheets("DATASTORE")
        cntrclm = .Cells(2, Columns.count).End(xlToLeft).Column 'Method 'Columns' of object '_Global' failed
        cntrrws = .Cells(Rows.count, 1).End(xlUp).Row
    End With
   
    ThisWorkbook.Worksheets("RAM").Activate
    Charts.Add
    ActiveChart.ChartType = xlLine
    ActiveChart.SetSourceData Source:=ThisWorkbook.Worksheets("RAM").Range(Cells(3, 1), Cells(cntrrws, cntrclm)), PlotBy:=xlColumns 'Method 'Columns' of object '_Global' failed
    ActiveChart.SeriesCollection(1).Name = "Dates"      'Invalid Parameter
    ActiveChart.Location Where:=xlLocationAsObject, Name:="RAM"
    With ActiveChart
        .Parent.Name = "RAM"
        .HasTitle = True
        .ChartTitle.Characters.Text = "RAM"
        .HasLegend = True
        .Axes(xlCategory, xlPrimary).HasTitle = True
        .Axes(xlCategory, xlPrimary).AxisTitle.Characters.Text = "Time in days"
        .Axes(xlValue, xlPrimary).HasTitle = True
        .Axes(xlValue, xlPrimary).AxisTitle.Characters.Text = "RAM in GB"
    End With
    ActiveSheet.Shapes("RAM").IncrementLeft -222.75
    ActiveSheet.Shapes("RAM").IncrementTop -136.5
    ActiveSheet.Shapes("RAM").ScaleWidth 1.875, msoFalse, msoScaleFromTopLeft
    ActiveSheet.Shapes("RAM").ScaleHeight 1.8211807378, msoFalse, msoScaleFromTopLeft
    ActiveChart.PlotArea.Interior.ColorIndex = xlNone
    ActiveChart.SeriesCollection(1).Values = Range(Cells(2, 2), Cells(2, cntrclm)) 'Application-defined or object-defined error
    With ActiveChart.PlotArea.Border
        .ColorIndex = 16
        .Weight = xlThin
        .LineStyle = xlContinuous
    End With


Den Code habe ich mir aus dem Internet zusammengeklaut, aber ich verstehe nicht, warum er bei mir nicht funktioniert.
Zwischenzeitlich hatte ich auch schon mehrmals debuggt, und bei der ersten Fehlermeldung im Code (With-Block) hat es bis vor kurzem keinen Error gegeben.
Bei der zweiten Fehlermeldung möchte ich den Bereich der x-Achse meines Charts definieren. Wenn ich es hier mit .Cells versuche bekomme ich "Invalid or unqualified reference" als Error.

Ich bitte um Hilfe ! Und wenn jemand helfen kann, danke ich schon einmal im Vorraus!

4
Excel / Erstellen einer dyn. Liste aus mehreren Tabellenblättern
« am: August 22, 2016, 15:17:51 Nachmittag »
Hallo,

wie der Titel schon verrät, möchte ich aus mehreren Tabellenblättern eine dynamische Tabelle erzeugen.

Das Ganze soll so funktionieren, und überhaupt warum:

Die Daten (Speicherplatzbelegung eines Servers, für den den es interessiert..) werden dokumentiert und ändern sich täglich. Für diese Daten wird pro Tag in einem Workbook ein Tabellenblatt angelegt und dieses nach dem Tag genannt (Format JJJMMTT ohne Punkt). Das funktioniert bisher alles super.

Mein Problem ist jetzt, dass sich viele verschiedene Nutzer täglich anmelden oder nicht und dann Daten vorhanden sind oder nicht. D.h. dass die Benutzerliste dynamisch ist und ich die maximale Anzahl der Nutzer der Tabellenblätter brauche wenn ich diese miteinander vergleiche aber ich weiß nicht wie..
Ein weiteres Problem ist, dass dann manche Zellen leer seien müssten, je nach dem ob der Nutzer an diesem Tag aktiv war oder nicht.

Die Benutzer sollen in Spalte A angelegt werden und das Datum soll in Zeile 2 aufgetragen werden.

Hier ist das was ich bisher habe, es wird nicht alles richtig oder klug sein, da ich ein Ziemlicher VBA-Neuling bin...

Public Sub PreInitialize(ByRef Datestring As String) 'DateString ist der
Dim SheetCounter As Long                             'Tabellenblattname
lngWorksheets = ThisWorkbook.Worksheets.Count
Dim rngComp As Integer, rngComp2 As Integer

For SheetCounter = 1 To lngWorksheets
   ThisWorkbook.Sheets("Master").Cells(2, 1 + SheetCounter).Value = ThisWorkbook.Sheets( _
SheetCounter).Name 'datum in tabelle
Next SheetCounter

For j = 1 To 3
   ActiveSheet.Cells(2, lngWorksheets - 1).Select
   If ActiveSheet.Cells(2, lngWorksheets - 1).Value = "Master" Then
       ActiveCell.Delete
   ElseIf ActiveSheet.Cells(2, lngWorksheets - 1).Value = "Stats" Then
       ActiveCell.Delete
   ElseIf ActiveSheet.Cells(2, lngWorksheets - 1).Value = "Filter" Then
       ActiveCell.Delete
   Else
           'NOP
   End If
Next j

rngComp = Workbooks("History_ServerUse.xlsm").Worksheets(Datestring).Cells(Rows.Count, 1).End( _
xlUp).Row
rngComp2 = Workbooks("History_ServerUse.xlsm").Worksheets(Datestring).Cells(Rows.Count, 1).End( _
xlUp).Row
If rngComp - 3 > rngComp2 - 3 Then
   rngComp2 = Workbooks("History_ServerUse.xlsm").Worksheets(Datestring).Cells(Rows.Count, 1). _
End(xlUp).Row
Esle
   rngComp = Workbooks("History_ServerUse.xlsm").Worksheets(Datestring).Cells(Rows.Count, 1). _
End(xlUp).Row
End If

End Sub

5
Excel / Antw:Office 2013: Excel mit VBA-Befehl in den Vordergrund bringen
« am: August 12, 2016, 10:04:13 Vormittag »
Es klappt super, vielen dank!

ich hatte zwar noch ein kleines Problem dass der Task Scheduler nicht die Excel Datei öffnen wollte, sondern nur Excel, aber das habe ich über eine .bat gelöst.

6
Excel / Antw:Office 2013: Excel mit VBA-Befehl in den Vordergrund bringen
« am: August 12, 2016, 09:06:50 Vormittag »
Danke ich werde es mal versuchen und melde mich dann

7
Excel / Antw:Office 2013: Excel mit VBA-Befehl in den Vordergrund bringen
« am: August 11, 2016, 09:47:12 Vormittag »
Hallo,

ich habe ein 64-bit Betriebssystem und die 32-Bit Excelversion

danke für die Hilfe!

8
Excel / Antw:Office 2013: Excel mit VBA-Befehl in den Vordergrund bringen
« am: August 11, 2016, 09:31:42 Vormittag »
es funktioniert leider immer noch nicht.. Excel blinkt nur fröhlich in der Taskleiste rum anstatt in den Vordergrund zu springen

9
Excel / Antw:Office 2013: Excel mit VBA-Befehl in den Vordergrund bringen
« am: August 11, 2016, 09:16:18 Vormittag »
Timer Code:

Public Sub RunTimer()
    If nTime > 0 Then
        nTime = nTime - 1
        UserForm1.Label3.Caption = Format(TimeSerial(0, 0, nTime), "hh:mm:ss")
        Application.OnTime Now + TimeValue("00:00:1"), "RunTimer"
    ElseIf (nTime = 0) And (shutting_state = True) Then
        Unload UserForm1
        ExcelAus                'Excel wird ausgeschalten
    Else
                               'NOP
    End If
End Sub

Wenn der Scheduler Excel öffnet ist es sichtbar, aber nicht aktiv und das ist das Problem

10
Excel / Office 2013: Excel mit VBA-Befehl in den Vordergrund bringen
« am: August 11, 2016, 07:59:16 Vormittag »
Hallo liebe Leute,

Ich habe ein Problem das schon öfters in Foren diskutiert wurde, allerdings konnte ich keine Lösung finden die mich weiter gebracht hat.
Ich hoffe ihr könnt mir helfen..

Zum Makro:

Es geht darum, dass Excel mittels externer Daten einen Report als .html erstellt und speichert, danach schließt Excel sich wieder von selbst. Da das ganze auf einer VM läuft, soll es eigenständig arbeiten (VM ist immer an). Da die Möglichkeit besteht dann man einmal zeitgleich an dem Report arbeitet und eventuell nicht möchte, dass er geschlossen wird, kommt nach 15 Sekunden eine UserForm auf sich ein Button und ein Timer läuft.
Wenn man den Timer durchlaufen lässt und den Button nicht drückt, schließt sich Excel selbst.
Das Ganze soll dann mit dem Task Scheduler von Windows zu bestimmten Zeiten automatisch passieren.

Das Makro an sich funktioniert tadellos.

Problem ist, dass der Scheduler das Excel Workbook öffnet, das aber im Hintergrund ist und dadurch der Timer nicht losläuft, da das Fenster aktiv sein muss um den Timer zu starten.

Deshalb meine Frage, wie man Excel oder die Userform in den Vordergrund bringen kann?

Hilfe bin schon am verzweifeln!

Auf der VM befindet sich Office 2013 und Windows 10 Enterprise 64-Bit falls das hilft...

Seiten: [1]