none
VBA-Anfängerfrage: "einfaches" Projektmanagement-Makro in Excel RRS feed

  • Frage

  • Liebe Community, ich hoffe ihr könnt mir bei einem Problem helfen, an jenem ich schon seit einer Woche auf der Arbeit verzweifle.

    Mein Vorgesetzter möchte ein "einfaches" Projekt-Management Makro in über VBA in Excel haben, dass automatisch den Bereich zwischen den Wörtern "Start" und "End" in einer willkürlichen Zeile einfärbt. Leider habe ich bisher im Internet nie die richtigen VB Befehle gefunden, die das machen können, was verlangt wird.

    Leider ist mir die Projektmanagement Excel-Datei der Firma auch nicht hilfreich, da der Programmierer der Makros dafür selber nimmer weiß, was er genau gemacht hat und durch unzählige Querverweise und Hinzufügungen ist es sowieso ein Datenkuddelmuddel im Quelltext.

    Danke im Voraus für die Hilfe.

    Donnerstag, 23. Oktober 2014 11:27

Antworten

  • Hi,

    da Du hier im VB.NET Forum gelandet bist und VBA mit VB.NET nicht wirklich was gemeinsam hat, wäre es sinnvoller, die Frage in einem VBA Forum zu stellen.

      http://www.vba-forum.de/

      http://www.herber.de/forum/

      http://answers.microsoft.com/de-de/office/forum/excel


    Gruß, Stefan
    Microsoft MVP - Visual Developer ASP/ASP.NET
    http://www.asp-solutions.de/ - Consulting, Development
    http://www.aspnetzone.de/ - ASP.NET Zone, die ASP.NET Community

    Donnerstag, 23. Oktober 2014 13:01
    Moderator
  • Hallo Tenkoman,

    Stefan hat Dich mit Recht darauf aufmerksam gemacht, dass es für VBA andere geeignete Foren gibt, aber wenn Du dringend eine Lösung benötigst, habe ich folgenden Ausschnitt erfolgreich getestet. Ich gehe davon aus, dass die Zeile, in der gesucht wird, im Voraus bestimmt (die Zahl steht z. B. in einer Excel-Zelle oder anders) und der Variablen k zugewiesen wird.

    Private Sub CommandButton3_Click() Dim i As Long Dim l As Integer Dim m As Integer Dim k As Integer 'Hier weist Du der Variablen k einen Wert zu, d. h. die Zeile, in der gesucht wird
    'Zum Zweck des Testens die dritte Zeile:
    k=3 For i = 1 To 12 If Cells(k, i).Value Like "start" Then l = i End If If Cells(k, i).Value Like "end" Then m = i End If Next i Range(Cells(k, l+1), Cells(k, m-1)).Interior.ColorIndex = 3 End Sub

    In l wird die Spalte gespeichert, in der „start“ steht, in m „end“. Ich gehe davon aus, dass die zwei Zellen, in der sich die Wörter „start“ und „end“ befinden, nicht eingefärbt sein sollen. Man kann auch nach Belieben überprüfen, ob es in der Zeile überhaupt „start“ und „end“ gibt. Im Beispiel wird der Hintergrund der Zellen zwischen „start“ und „end“ rot gefärbt.


    Gruß
    Dimitar


    Bitte haben Sie Verständnis dafür, dass im Rahmen dieses Forums, welches auf dem Community-Prinzip „IT-Pros helfen IT-Pros“ beruht, kein technischer Support geleistet werden kann oder sonst welche garantierten Maßnahmen seitens Microsoft zugesichert werden können.



    Freitag, 24. Oktober 2014 06:28
    Moderator

Alle Antworten

  • Hi,

    da Du hier im VB.NET Forum gelandet bist und VBA mit VB.NET nicht wirklich was gemeinsam hat, wäre es sinnvoller, die Frage in einem VBA Forum zu stellen.

      http://www.vba-forum.de/

      http://www.herber.de/forum/

      http://answers.microsoft.com/de-de/office/forum/excel


    Gruß, Stefan
    Microsoft MVP - Visual Developer ASP/ASP.NET
    http://www.asp-solutions.de/ - Consulting, Development
    http://www.aspnetzone.de/ - ASP.NET Zone, die ASP.NET Community

    Donnerstag, 23. Oktober 2014 13:01
    Moderator
  • Hallo Tenkoman,

    Stefan hat Dich mit Recht darauf aufmerksam gemacht, dass es für VBA andere geeignete Foren gibt, aber wenn Du dringend eine Lösung benötigst, habe ich folgenden Ausschnitt erfolgreich getestet. Ich gehe davon aus, dass die Zeile, in der gesucht wird, im Voraus bestimmt (die Zahl steht z. B. in einer Excel-Zelle oder anders) und der Variablen k zugewiesen wird.

    Private Sub CommandButton3_Click() Dim i As Long Dim l As Integer Dim m As Integer Dim k As Integer 'Hier weist Du der Variablen k einen Wert zu, d. h. die Zeile, in der gesucht wird
    'Zum Zweck des Testens die dritte Zeile:
    k=3 For i = 1 To 12 If Cells(k, i).Value Like "start" Then l = i End If If Cells(k, i).Value Like "end" Then m = i End If Next i Range(Cells(k, l+1), Cells(k, m-1)).Interior.ColorIndex = 3 End Sub

    In l wird die Spalte gespeichert, in der „start“ steht, in m „end“. Ich gehe davon aus, dass die zwei Zellen, in der sich die Wörter „start“ und „end“ befinden, nicht eingefärbt sein sollen. Man kann auch nach Belieben überprüfen, ob es in der Zeile überhaupt „start“ und „end“ gibt. Im Beispiel wird der Hintergrund der Zellen zwischen „start“ und „end“ rot gefärbt.


    Gruß
    Dimitar


    Bitte haben Sie Verständnis dafür, dass im Rahmen dieses Forums, welches auf dem Community-Prinzip „IT-Pros helfen IT-Pros“ beruht, kein technischer Support geleistet werden kann oder sonst welche garantierten Maßnahmen seitens Microsoft zugesichert werden können.



    Freitag, 24. Oktober 2014 06:28
    Moderator