Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
516to520
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
516to520
516to520
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Befehlsschaltfläche

Befehlsschaltfläche
18.11.2004 10:41:45
René
Hi,
habe ein problem. habe eine excel-mappe mit verschiedenen werten in 5 spalten für deutschland. dann habe ich in anderen zellen umrechnungsfaktoren für andere länder (GBR, ITA, ...). Soviel zum Aufbau meiner Exceltabelle.
Ich möchte jetzt gerne, dass sich bei klick auf eine Schaltfläche (z.B. England) die deutschen werte anhand der vorgegebenen umrechnungsfaktoren z.B. für England ändern.
Kann mir bitte jemand sagen wie und ob das funktioniert.
Vieeeelen Dank.
René

18
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Befehlsschaltfläche
18.11.2004 10:47:02
grumble
hi
klar funktioniert das, du musst nur die entsprechenden umrechnungen in die click ergeinisse der buttons im vba editor schreiben...
gruss grumble
AW: Befehlsschaltfläche
18.11.2004 11:00:40
René
hi grumble,
danke für die antwort, leider kenn ich mich mit vba nicht aus.
kannst du mir vielleich einen crash-course geben. einen befehl oder so.
was muss ich da eingeben.
ich will z.B., dass sich die zellen D20 und D21 durch A3 dividieren und mit A4 multiplizieren.
Wäre dir echt dankbar.
Gruss
René
AW: Befehlsschaltfläche
18.11.2004 11:05:38
grumble
klar doch
geh in den entwurfsmodus, der selbe wie du die buttons erstellte hast und doppelklicke den gewuenschten button, der codeeditor sollte sich oeffnen und die procedure

Private Sub DEINBUTTONNAME_Click()
End Sub

schon dastehn
dazwischen schreibst du folgendes:
range("D20").value=range("D20").value/range("A3").value*range("A4").value
range("D21").value=range("D21").value/range("A3").value*range("A4").value
Anzeige
AW: Befehlsschaltfläche
René
echt cool danke,
aber kann man auch eingeben dass das ganze nur einmal funktioniert und nicht bei erneuten klick die aktion wiederholt?
und kann mann auch einen Bereich angeben, damit ich nicht für jede zelle den selben befehl reinschreiben muss?
gruss
rené
AW: Befehlsschaltfläche
18.11.2004 11:22:10
grumble
na klar, man kann :)
schreib einfach wieder dort dazwischen
DEINBUTTONNAME.enabled=false
wenn du einen bereich angeben willst musst du wissen wie gross der ist, also welchen bereich willst du fuellen ?
das enabled muss spaeter auch wieder auf true gesetzt werden allerspaetestens wenn du die datei schliesst sonst bleibts immer disabled :)
Anzeige
AW: Befehlsschaltfläche
René
ok jetzt wirds kompliziert ;-)
ich will z.B. den bereich von D20 bis F40 umrechnen.
Ausserdem möchte ich verschiedene schaltflächen machen. d.h. eine für england eine für spanien. wenn ich jetzt auf england drucke, kommen also die englischen werte (das hat ja schon funktioniert). jetzt soll aber bei erneuten drücken des buttons wieder die deutschen werte dastehen (also so eine ein-/ausschalt funktion?!).
AW: Befehlsschaltfläche
18.11.2004 11:51:08
grumble
also
du koenntest auch die englischen werte direkt in spanische umrechnen?, weil die deutschen ein ausblenden funktioniert (nur) wenn du die woanders noch stehen hast
dann musst du ne doppelte for schleife basteln fur den bereich der umgerechnet werden soll
sagen wir i ist der zeilenindex und j der spaltenindex, dann siehst wie folgt aus:
for i = 20 to 40
for j = 4 to 7
cells(i,j).value=cells(i,j).value * faktor
next j
next i
faktor kannst du vorher noch definieren, schreib unter die zeile sub deinbuttonname_click()
dim faktor as double
faktor = range("A4").value/Range("A3").value
oder halt direkte werte ... so : faktor = 5.3 / 2.1
wenn dir das ganze zuviel wird schick mir die datei mal an grumble@gmx.ch dann bastel ich dir schnell was zusammen
Anzeige
AW: Befehlsschaltfläche
René
hi, langsam wirds interessant ;-)
aber bei klick auf schaltfläche stellt er mir alle werte auf null
gruss
rené
AW: Befehlsschaltfläche
18.11.2004 12:26:22
grumble
also so ganz ohne code kann ich dir da nicht weiterhelfen, da ich ja nicht wissen kann was du alles eingetragen hast
AW: Befehlsschaltfläche
René
also: habe folgendes eingetragen (in den zellen a4 und a3 stehen faktoren und in den zellen d20 bis f 40 zahlen die dann 0 werden nach klick)?

Private Sub CommandButton1_Click()
For i = 20 To 40
For j = 4 To 6
Cells(i, j).Value = Cells(i, j).Value * faktor
Next j
Next i
faktor = Range("A4").Value / Range("A3").Value
End Sub


Private Sub ToggleButton1_Click()
For i = 20 To 40
For j = 4 To 6
Cells(i, j).Value = Cells(i, j).Value * faktor
Next j
Next i
faktor = Range("A4").Value / Range("A3").Value
End Sub

Anzeige
AW: Befehlsschaltfläche
18.11.2004 12:34:18
grumble
lass den faktor vor den for schleifen berechnen :)
sonst wird er erst spaeter berechnet und ist damit beim schleifendurchlauf 0
also
faktor = Range("A4").Value / Range("A3").Value
For i = 20 To 40
For j = 4 To 6
Cells(i, j).Value = Cells(i, j).Value * faktor
Next j
Next i
AW: Befehlsschaltfläche
René
danke,
jetzt würd ich noch gern einstellen, dass ich nur einmal raufklicken kann.
hat vorher mit deinbuttonname.enabled=false nicht funktioniert
also entweder auf deutsch-button oder auf englisch-button (hin und herschalten):
kannst du mir ausserdem sagen, ob es möglich ist einen teil des bereichs mit einem anderen faktor zu berechnen. also 2 formeln in einem makro.
z.b: d20 bis f40 mit dem einen faktor
For i = 20 To 40
For j = 4 To 6
und dann im selben makro z.B.
For i = 41 To 60
For j = 4 To 6
vielen dank.
Anzeige
AW: Befehlsschaltfläche
18.11.2004 13:44:49
grumble
logisch machs genau so wie du es wolltest
faktor =a*b
For i = 20 To 40
For j = 4 To 6
cells... *faktor
next j
next i
faktor = x*y
For i = 41 To 60
For j = 4 To 6
cells...
next j
next i
AW: Befehlsschaltfläche
René
Danke vielmals.
werd dich bei gelegenheit wieder belästigen ;-)
AW: Befehlsschaltfläche
René
hi,
hat nicht lange gedauert;-).
hab immer noch ein problem
habe eine umschaltfläche (togglebutton). möchte also bei erneuten klick auf umschaltfläche, dass sich der befehl wieder rückgängig macht und nicht erneut wiederholt.
vielen dank.
gruss
rené
AW: Befehlsschaltfläche
19.11.2004 08:27:59
grumble
wenn du einen togglebutton hast
schrieb folgendes in sein click ereignis
if togglebutton = true then ' der button ist eingedrueckt
' hier jetzt die zeilen fuer die hinrechnung
' einfuegen
else
' hier jetzt die zeilen fuer die rueckrechnung
' einfuegen
end if
Anzeige
AW: Befehlsschaltfläche
René
hi grumble,
habe noch immer einen fehler. kannst du mir bitte sagen wo?

Private Sub ToggleButton1_Click()
If ToggleButton = True Then
faktor = Range("A4").Value / Range("A3").Value
For i = 20 To 21
For j = 4 To 4
Cells(i, j).Value = Cells(i, j).Value * faktor
Next j
Next i
faktor = Range("A5").Value
For i = 22 To 23
For j = 4 To 4
Cells(i, j).Value = Cells(i, j).Value * faktor
Next j
Next i
Else
faktor = Range("A4").Value / Range("A3").Value
For i = 20 To 21
For j = 4 To 4
Cells(i, j).Value = Cells(i, j).Value / faktor
Next j
Next i
faktor = Range("A5").Value
For i = 22 To 23
For j = 4 To 4
Cells(i, j).Value = Cells(i, j).Value / faktor
Next j
Next i
End If
End Sub

Anzeige
AW: Befehlsschaltfläche
19.11.2004 09:14:18
grumble
huch
es muss heissen togglebutton1.value = true
sorry, falls fehler sind schreib bitte auch die fehlermeldung mit

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige