Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

Felder ergänzen und löschen
#1
Hallo Zusammen,

ich möchte mir gerne eine Liste die ich aktuell händisch aktualisiere per Button automatsch aktualisieren lassen.

Mal Vorweg. Ich bin ein absoluter Noob was VBA (und Programmierung generell) angeht. Deswegen wäre es toll, wenn der Code sehr offenichtlich und verständlich für Anfänger wäre.

Es geht darum:

Ich habe fünf Bereiche:

Bereich1 B3:AE3
Bereich2 B4:AE4
Bereich3 B5:AE5
Bereich4 B6:AE6
Bereich5 B7:AE7

Zudem habe ich ich 6 Buttons.
Button Ber1
Button Ber2
Button Ber3
Button Ber4
Button Ber5
Button B

Nach klicken der jeweiligen Buttons sollen folgende Sachen Passieren:
Als Beispiel Szenario:

Ich klicke Bereich 1
Dann bleibt Bereich 1 Leer und die anderen Bereiche füllen die erste freie Zelle in ihrem Bereich mit einem 'c'

Bereich1 B3:AE3
Bereich2 B4:AE4 c
Bereich3 B5:AE5 c
Bereich4 B6:AE6 c
Bereich5 B7:AE7 c


Danach klicke ich Bereich 3
Bereich drei löscht alle vorhandenen 'c-s' in ihrem Bereich und die anderen Bereiche erhalten alle ein neues 'c' an erster möglicher Position in ihrem Bereich

Bereich1 B3:AE3 c
Bereich2 B4:AE4 cc
Bereich3 B5:AE5
Bereich4 B6:AE6 cc
Bereich5 B7:AE7 cc


Danach klicke ich wieder Bereich 1
Bereich eins löscht alle vorhandenen 'c-s' in ihrem Bereich und die anderen Bereiche erhalten alle ein neues 'c' an erster möglicher Position in ihrem Bereich

Bereich1 B3:AE3 
Bereich2 B4:AE4 ccc
Bereich3 B5:AE5 c
Bereich4 B6:AE6 ccc
Bereich5 B7:AE7 ccc


Danach klicke ich X
Alle Bereiche erhalten ein 'b' an der ersten freien Zelle des Bereiches

Bereich1 B3:AE3 cb
Bereich2 B4:AE4 ccb
Bereich3 B5:AE5 b
Bereich4 B6:AE6 ccb
Bereich5 B7:AE7 ccb


Danach klicke ich Bereich 4
Bereich vier löscht alle vorhandenen 'c-s' in ihrem Bereich und die anderen Bereiche erhalten alle ein neues 'c' an erster möglicher Position in ihrem Bereich

Bereich1 B3:AE3 cbc
Bereich2 B4:AE4 ccbc
Bereich3 B5:AE5 bc
Bereich4 B6:AE6
Bereich5 B7:AE7 ccbc



Und so weiter und so fort..

Es macht für euch vielleicht keinen Sinn. Aber es wäre für mich eine große Erleichterung bei einem Minigame welches ich spieleSmile
Antwortento top
#2
Hallo,
Sub Bereich1()
BereicheBearbeiten 1
End Sub
Sub Bereich2()
BereicheBearbeiten 2
End Sub
Sub Bereich3()
BereicheBearbeiten 3
End Sub
Sub Bereich4()
BereicheBearbeiten 4
End Sub
Sub Bereich5()
BereicheBearbeiten 5
End Sub
Sub BereichX()
BereicheBearbeiten 0
End Sub

Sub BereicheBearbeiten(x As Long)
Dim i As Long
Dim rngBereiche As Range
Set rngBereiche = Range("B3:AE7")
If x = 0 Then
For i = 1 To 5
With rngBereiche.Rows(i)
If .Application.WorksheetFunction.CountBlank(.Cells) Then
.SpecialCells(xlCellTypeBlanks).Cells(1).Value = "b"
End If
End With
Next i
Else
For i = 1 To 5
If x = i Then
With rngBereiche.Rows(i)
.Replace "c", ""
End With
Else
With rngBereiche.Rows(i)
If .Application.WorksheetFunction.CountBlank(.Cells) Then
.SpecialCells(xlCellTypeBlanks).Cells(1).Value = "c"
End If
End With
End If
Next i
End If
End Sub
Gruß Uwe
Antwortento top
#3
Vielen Dank Kuwer.
Für einen Laien sieht das sehr gut aus.
Der Code ist auch garantiert richtig.
Ich bin ein Ultra Noob.
Wenn ich den Code einfach in die VBA Aplikation kopiere, passiert ja erstmal nichts.

Könnte mir vielleicht jemand helfen, wie ich vorgehe, wenn ich ein Blanko Excel habe, wie ich vorgehen soll, dass das auch funktioniert?
Sorry für meine Unerfahrenheit, umso größer ist mein Dank

:)
Antwortento top
#4
Hallo,


Zitat:Könnte mir vielleicht jemand helfen, wie ich vorgehe, wenn ich ein Blanko Excel habe, wie ich vorgehen soll, dass das auch funktioniert?

WIeso in ein Blanko Excel? Mach eine Kopie deiner Datei. Dort drückst Du ALT+F11 und fügst den Code ein. Mit dem Play Symbol startest Du den Code und schaust ob alles funktioniert. Später kannst Du Dir in deiner Original Datei eine Schaltfläche (Entwicklertools - Einfügen) in dein Tabellenblat legen, damit das Makro von dort aus gestartet werden kann.

Gruß
Marcus

Ich arbeite mit Excel 2003 - Excel 2007 - Excel 365

Homepage im Aufbau (alte Daten müssen wieder hergestellt werden): http://ms-excel.eu

Wissen ist Macht - es ist aber nicht schlimm nicht alles zu wissen.
Man muss nicht alles wissen - man muss nur wissen wo es steht, oder wo man Hilfe bekommt.

Antwortento top
#5
Ich muss ja noch die Buttons erstellen und ich noch nicht weiß wie ich die sechs einzelnen Buttons mit dem Code verknüpfe, damit das passt
Antwortento top
#6
Hallo,

in der angehängten Beispieldatei habe ich Schaltflächen eingefügt (Im Menü unter Entwicklertools > Einfügen > Formularsteuerelemente) und diesen per jeweiligem Rechtsklick das entsprechende Makro zugewiesen. Schau mal, ob das so läuft wie es sollte.


.xlsm   Felder ergänzen und löschen.xlsm (Größe: 20,6 KB / Downloads: 4)

Gruß Uwe
Antwortento top
#7
Fast ganz genau so.
Ich habe nur noch eine kleine Änderung gemacht.Das hab ich dann doch selbst hinbekommen.
Das 'b' sollte auch verschwinden. nicht nur die 'c'sSmile

Ganz herzlichen Dank
Antwortento top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste