Microsoft Excel

Herbers Excel/VBA-Archiv

Informationen und Beispiele zum Thema CommandButton
BildScreenshot zu CommandButton CommandButton-Seite mit Beispielarbeitsmappe aufrufen

Zellen per VBA autofüllen | Herbers Excel-Forum


Betrifft: Zellen per VBA autofüllen von: Hanses
Geschrieben am: 24.08.2008 21:36:17

Hallo Gemeinde,

ich möchte per CommandButton folgendes erreichen:

Fülle die Zellen E5:E86 mit einer 1
Fülle die Zellen F5:E86 mit --
Fülle die Zellen G5:E86 mit einer 1

...................
.....................

Bis AI86

Könnt Ihr mir helfen

Besten Dank !!!

  

Betrifft: Spalten auffüllen! von: Backowe
Geschrieben am: 24.08.2008 21:45:12

Hi,

VBA-Code:
Option Explicit

Private Sub CommandButton1_Click()
Dim i As Integer
For i = 5 To 35
  If i Mod 2 = 1 Then
    Range(Cells(5, i), Cells(86, i)) = 1
  Else
    Range(Cells(5, i), Cells(86, i)) = "--"
  End If
Next
End Sub

Code eingefügt mit Syntaxhighlighter 4.15


Gruß Jürgen


  

Betrifft: AW: Spalten auffüllen! von: Hanses
Geschrieben am: 24.08.2008 22:14:59

Hallo Jürgen,

werde ich gleich mal ausprobieren.
Besten Dank für Deine schnelle Hilfe Q!!Q!


  

Betrifft: AW: Spalten auffüllen! von: Hanses
Geschrieben am: 24.08.2008 22:22:00

Klappt super , Danke!!!!

Ist es auch möglich, folgendes zu erreichen.

Es soll in der Tabelle 2 geprüft werden, ob in der Tabelle 1 in den Zellen AI5:AI86 eine 1 oder "'--" steht.
Steht eine 1 muss mit "--" begonnen werden. Steht "'--" in den Zellen muss eine 1 in die Zellen.

Danke und Gruß !


  

Betrifft: Geht auch! ;o) von: Backowe
Geschrieben am: 24.08.2008 22:30:51

Hi,

VBA-Code:
Option Explicit

Private Sub CommandButton1_Click()
Dim i As Integer
For i = 5 To 35
  If Sheets("Tabelle1").Range("AI5") = "--" Then
    If i Mod 2 = 1 Then
      Range(Cells(5, i), Cells(86, i)) = 1
    Else
      Range(Cells(5, i), Cells(86, i)) = "--"
    End If
  Else
    If i Mod 2 = 1 Then
      Range(Cells(5, i), Cells(86, i)) = "--"
    Else
      Range(Cells(5, i), Cells(86, i)) = 1
    End If
  End If
Next
End Sub

Code eingefügt mit Syntaxhighlighter 4.15


Gruß Jürgen


  

Betrifft: AW: Geht auch! ;o) von: Daniel
Geschrieben am: 24.08.2008 22:53:52

Hi

das geht doch eigentlich auch viel einfacher:

Sub einfügen
with sheets("Tabelle2").range("e5:Ai86")
    .formulalocal="=BEREICH.VERSCHIEBEN(Tabelle1!$AI$5;;-REST(SPALTE();2))"
    .formula = .value 
end with
End Sub



Gruß, Daniel


  

Betrifft: Gut gemeint, aber hast Du mal ... von: Backowe
Geschrieben am: 24.08.2008 22:58:08

Hallo Daniel,

... auf die Uhr geschaut, so kurz vor 23:00 Uhr, bin schon fast beim Matrazenhorchdienst, bekomme ich solche geistigen Klimmzüge nicht mehr hin! ;o)

Gruß Jürgen


  

Betrifft: AW: Gut gemeint, aber hast Du mal ... von: Daniel
Geschrieben am: 24.08.2008 23:48:55

Hi
na dann, gute nacht.
aber so kompliziert ist doch ne kleine Bereich.Verschieben-Funktion auch nicht, und den Trick mit der Rest-funktion verwendest du ja auch.
ich stelle mir auch beim Arbeiten mit VBA immer als erstes die Frage, wie sich das Problem ohne VBA, nur mit Excel lösen ließe.
das bringt zwar nicht in allen aber doch in vielen Fällen kurze, elegante Lösungen, die idR auch schneller sind als ungeschickt programmierte VBA-Lösungen
Gruß, Daniel


  

Betrifft: Ob eine Lösung geschickt oder ungeschickt ist, ... von: Backowe
Geschrieben am: 25.08.2008 09:11:04

Hi Daniel,

... mache ich mir, der Excel als Hobby betreibt, keine Gedanken. Ich bin der Meinung, Hauptsache das Problem ist gelöst, egal wie.

Gruß Jürgen


  

Betrifft: AW: Ob eine Lösung geschickt oder ungeschickt ist, ... von: Daniel
Geschrieben am: 25.08.2008 20:29:31

Hi
gerade wenn du Excel als Hobby betreibst, dann ist doch die Suche nach der besten Lösung das, was Spass macht ;-).

und der Vorteil hier im Forum ist, daß sich manchmal mehrere Leute um eine Lösung bemühen und man durch den Vergleich der verschieden Lösungsmöglichkeiten viel dazulernen kann.

Gruß, Daniel


  

Betrifft: Ich arbeite als Systemadministrator, ... von: Backowe
Geschrieben am: 25.08.2008 21:18:21

Hallo Daniel,

... also sehr lösungsorientiert, egal wie, Hauptsache das Problem ist vom Tisch und eine B-Note oder gute Haltungsnoten werden da nicht verteilt. ;o)
Ich habe meine Onlinekarriere 05/2002 bei Spotlight begonnen. Aber dieser absolute Wille um jeden Preis meine Kenntnisse in die Höhe zu schrauben habe ich nicht mehr, ich werde im das nächsten Jahr 50 Jahre alt und da sind die Prioritäten doch etwas anders verteilt.

Gruß Jürgen


  

Betrifft: AW: Ich arbeite als Systemadministrator, ... von: Daniel
Geschrieben am: 25.08.2008 23:01:07

Hi
naja, spätesten wenn mal ein ähnliches Problem auftaucht, hilft die geschickere Lösung Zeit und Aufwand sparen, ist also auch eine Investition in die Zukunft ;-)

Gruß, Daniel


  

Betrifft: AW: Zellen per VBA autofüllen von: Daniel
Geschrieben am: 24.08.2008 22:00:13

HI

Sub test()
Range("e5").Value = 1
Range("f5").Value = "--"
Range("e5:f5").Copy Destination:=Range("e5:ah86")
Range("ai5:ai86").Value = 1
End Sub



Gruß, Daniel


  

Betrifft: AW: Zellen per VBA autofüllen von: Hanses
Geschrieben am: 24.08.2008 22:32:44

Ich muss das ganze noch präzisieren.
Die Zellen AI5:AI 86 sind nicht immer die letzten.
Es kann vorkommen, das die Spalten AF, AG, Ah oder AI die letzte Spalte ist.
Das ganze sind Monate in einzelnen Tabellenblättern und die "1" bzw "'--" müüsen sich über die
Monate immer abwechseln.

Gruß


  

Betrifft: AW: Zellen per VBA autofüllen von: Daniel
Geschrieben am: 24.08.2008 22:39:44

Hi

ah.
und woran erkennt man, wie weit das ganze kopiert werden soll?
das Objekt "Anwender.Gehirn.Gedanken" ist in VBA leider noch nicht implementiert.

Gruß, Daniel


Beiträge aus den Excel-Beispielen zum Thema "Zellen per VBA autofüllen"