Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
560to564
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
560to564
560to564
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Zeile einfügen, Button aktualisiern , vba

Zeile einfügen, Button aktualisiern , vba
04.02.2005 16:03:40
Jonny
Hi zusammen,
habe folgendes Problem.
Ich habe ein Blatt mit mehreren Zeilen. Jeweils rechts von der Zeile habe ich einen Button, womit eine Zeile unterhalb stets eingefügt werden soll.
Ich habe das Makro schon so programmiert, dass ich ihm nur die Zeile als Zahl nennen muss, indem das Button steht. Den Rest macht er von selbst.
Jedoch habe ich festgestellt, wenn ich beispielsweise den ersten button klicke, dass das zweite Button, was ursprünglich in der zweiten Zeile stand (nach dem klicken in der 3 Zeile) hat den Wert 2 immer noch hat (, da er ja mal in der 2 Zeile stand).
Bildhaft:
aaaaaaaaa "button1"
bbbbbbbbb "button2"
ccccccccc "button3"
(klick "button2")
aaaaaaaaa "button1"
bbbbbbbbb "button2"
ccccccccc "button3"
(klick "button2")
aaaaaaaaa "button1"
bbbbbbbbb "button2"
ccccccccc "button3"
er sollte aber folgendes tun:
aaaaaaaaa "button1"
bbbbbbbbb "button2"
ccccccccc "button3"
Frage: Wie kann ich das Prob lösen!?

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Zeile einfügen, Button aktualisiern , vba
04.02.2005 16:05:07
Josef
Hallo Jonny!
Zeig mal den Code!
Gruß Sepp
P.S.: Rückmeldung nicht vergessen!
AW: Zeile einfügen, Button aktualisiern , vba
04.02.2005 16:07:10
Jonny

Sub Button8()
Call ZeileEinfügen(8)
End Sub


Sub Button9()
Call ZeileEinfügen(9)
End Sub


Sub ZeileEinfügen(spalte As Integer)
' Makro2 Makro
' Makro am 29.07.2005 von Caparogullari aufgezeichnet
Rows(spalte + 1).Select
Selection.Insert Shift:=xlDown
Sheets("Stundennachweis").Cells(spalte + 1, 1) = _
"=IF(RC2<>"""",TEXT(DATE(YEAR(STD_aktMonat),MONTH(STD_aktMonat),RC2),""TTT""),"""")"
Sheets("Stundennachweis").Cells(spalte + 1, 2) = "=R[-1]C"
Sheets("Stundennachweis").Cells(spalte + 1, 3) = _
"=IF(ISNA(VLOOKUP(RC5,NfA_gueltigeProjekte,2,0)),"""",VLOOKUP(RC5,NfA_gueltigeProjekte,2,0))"
Sheets("Stundennachweis").Cells(spalte + 1, 4) = _
"=IF(ISNA(VLOOKUP(RC5,'Nachweis für Auftraggeber'!R7C1:R38C3,3,0)),"""",VLOOKUP(RC5,'Nachweis für Auftraggeber'!R7C1:R38C3,3,0))"
Sheets("Stundennachweis").Cells(spalte + 1, 6) = _
"=IF(AND(RC10<>"""",RC11<>""""),(RC11-RC10-RC12)*24,"""")"
Sheets("Stundennachweis").Cells(spalte + 1, 9) = _
"=IF(AND(RC6="""",RC7<>""""),RC7,IF(AND(RC6<>"""",RC7=""""),RC6,IF(AND(RC6<>"""",RC7<>""""),RC6+RC7,"""")))"
End Sub

-----
ES muss halt statt der 8 oder 9 immer die aktuelle Zeile rein!? oder?!
Anzeige
AW: Zeile einfügen, Button aktualisiern , vba
04.02.2005 16:17:33
Josef
Hallo Jonny!
Du kannst für alle Buttons das gleiche Makro verwenden!
Einfach direkt diesn Code zuweisen

Sub ZeileEinfügen()
Dim zeile As Long
zeile = ActiveSheet.Shapes(Application.Caller).TopLeftCell.Row
Rows(zeile + 1).Insert Shift:=xlDown
Sheets("Stundennachweis").Cells(zeile + 1, 1) = _
"=IF(RC2<>"""",TEXT(DATE(YEAR(STD_aktMonat),MONTH(STD_aktMonat),RC2),""TTT""),"""")"
Sheets("Stundennachweis").Cells(zeile + 1, 2) = "=R[-1]C"
Sheets("Stundennachweis").Cells(zeile + 1, 3) = _
"=IF(ISNA(VLOOKUP(RC5,NfA_gueltigeProjekte,2,0)),"""",VLOOKUP(RC5,NfA_gueltigeProjekte,2,0))"
Sheets("Stundennachweis").Cells(zeile + 1, 4) = _
"=IF(ISNA(VLOOKUP(RC5,'Nachweis für Auftraggeber'!R7C1:R38C3,3,0)),"""",VLOOKUP(RC5,'Nachweis für Auftraggeber'!R7C1:R38C3,3,0))"
Sheets("Stundennachweis").Cells(zeile + 1, 6) = _
"=IF(AND(RC10<>"""",RC11<>""""),(RC11-RC10-RC12)*24,"""")"
Sheets("Stundennachweis").Cells(zeile + 1, 9) = _
"=IF(AND(RC6="""",RC7<>""""),RC7,IF(AND(RC6<>"""",RC7=""""),RC6,IF(AND(RC6<>"""",RC7<>""""),RC6+RC7,"""")))"
End Sub

Gruß Sepp
P.S.: Rückmeldung nicht vergessen!
Anzeige
AW: Zeile einfügen, Button aktualisiern , vba
04.02.2005 16:22:08
Jonny
Hi,
tausend Dank.....
es funktioniert wunderbar!!!
Erklär mir bitte doch mal was diese Zeile bedeutet...
"zeile = ActiveSheet.Shapes(Application.Caller).TopLeftCell.Row"
AW: Zeile einfügen, Button aktualisiern , vba
04.02.2005 16:27:24
Josef
Hallo Jonny!
"zeile = ActiveSheet.Shapes(Application.Caller).TopLeftCell.Row"
Jedes Shape, also auch eine Schaltfläche, besitzt die Eigenschaft
"TopLeftCell" !
Diese bezeichnet die Zelle, in der die obere linke Ecke des Shapes liegt.
"Application.Caller" ist das Object das ein Makro oder eine Funktion aufruft,
in unserem Fall also die entsprechende Schaltfläche.
Somit haben wir die Zelle in der die Schaltfläche steht, und mit
"Row" erhalteh wir die Zeilennummer!
Gruß Sepp
P.S.: Rückmeldung nicht vergessen!
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige