Jump to content

SUBIECTE NOI
« 1 / 5 »
RSS
Boxa membrana tweeter infundata

ajutor

Whisky for Mac

Xiaomi 14 Gpay
 Izolare zid exterior de scandura

Dezinstalare drivere W11 23H3

Recomandare masina de spalat fiab...

BSOD din cauza Intel Audio DSP dr...
 De ce sunt oamenii nostalgici

Cum vand casa fara factura Hidroe...

Scor FICO minim

Tonometru compensat CAS?
 polita RCA ONLINE

Termostat frigider - verificare

Mai au PC-urile vreun viitor?

Centrala termica immergas
 

introducerea obligatorie a datelor intr-un document excel

- - - - -
  • Please log in to reply
10 replies to this topic

#1
ionel.sat

ionel.sat

    Member

  • Grup: Members
  • Posts: 815
  • Înscris: 26.11.2005
Problema ce ma intereseaza pe mine este urmatoarea:

am un document excel pe care il primesc complectat prin e-mail cu anumite date.
este posibil ca acel document sa nu poata fi inchis pana cand nu introduce in el anumite date sau valori in anumite casute?

de exemplu eu am creat un tabel in care cel ce trebuie sa mi-l trimita completat trebuie sa introduca in anumite casute niste valori si intr-o casuta sa introduca data care specifica la ce perioada se refera acele date. daca el ignora sa introduca toate datele sa-l atentioneze in vreun fel sau sa nu-i dea voie sa-l inchida pana nu le introduce pe toate

#2
maro158

maro158

    Member

  • Grup: Members
  • Posts: 269
  • Înscris: 01.10.2007
Private Sub Workbook_BeforeClose(Cancel As Boolean)
    Dim sht As Worksheet
    Dim rng As Range
    
    Set sht = ActiveWorkbook.ActiveSheet
    Set rng = sht.Cells(1, 1)
    
    If rng.Value = "" Then
        MsgBox ("Ooops!")
        Cancel = True
    End If
End Sub

#3
ionel.sat

ionel.sat

    Member

  • Grup: Members
  • Posts: 815
  • Înscris: 26.11.2005

View Postmaro158, on Feb 23 2008, 11:46, said:

Private Sub Workbook_BeforeClose(Cancel As Boolean)
    Dim sht As Worksheet
    Dim rng As Range
    
    Set sht = ActiveWorkbook.ActiveSheet
    Set rng = sht.Cells(1, 1)
    
    If rng.Value = "" Then
        MsgBox ("Ooops!")
        Cancel = True
    End If
End Sub

este o comanda pe care ar trebui sa introduc undeva?

#4
queensoft

queensoft

    Trust no one

  • Grup: Banned
  • Posts: 16,079
  • Înscris: 26.11.2005
E mai multe comenzi!!
Deschizi fisierul, intri la meniul: Tools > macro > visual basic editor
Click in stinga pe This Workbook
Pui tot textul ala de mai sus (comenzile) in dreapta.
Modifici : sht.Cells(1, 1) - in loc de 1,1 pui coordonatele casutei tale (faci probe pina o nimeresti - row, column)
Salvezi fisierul Excel (cu alt nume, sa-ti ramina originalul...), faci proba

#5
ionel.sat

ionel.sat

    Member

  • Grup: Members
  • Posts: 815
  • Înscris: 26.11.2005

View Postqueensoft, on Feb 29 2008, 19:14, said:

E mai multe comenzi!!
Deschizi fisierul, intri la meniul: Tools > macro > visual basic editor
Click in stinga pe This Workbook
Pui tot textul ala de mai sus (comenzile) in dreapta.
Modifici : sht.Cells(1, 1) - in loc de 1,1 pui coordonatele casutei tale (faci probe pina o nimeresti - row, column)
Salvezi fisierul Excel (cu alt nume, sa-ti ramina originalul...), faci proba

foarte frumos, multumesc cu aceasta ocazie si lui "maro158"

este posibil ca sa-mi si arate care este casuta pe care trebuie sa o completez, sau chiar casutele, caci in cazul meu sunt mai multe spatii ce ar trebui completate ?
pot fi puse si avertizari sonore?

#6
maro158

maro158

    Member

  • Grup: Members
  • Posts: 269
  • Înscris: 01.10.2007

View Postionel.sat, on Mar 1 2008, 09:55, said:

foarte frumos, multumesc cu aceasta ocazie si lui "maro158"

este posibil ca sa-mi si arate care este casuta pe care trebuie sa o completez, sau chiar casutele, caci in cazul meu sunt mai multe spatii ce ar trebui completate ?
pot fi puse si avertizari sonore?

Sorry, nu inteleg. Posteaza aici fisierul Excel in cauza si specifica care "casute" trebuie completate.

#7
ionel.sat

ionel.sat

    Member

  • Grup: Members
  • Posts: 815
  • Înscris: 26.11.2005

View Postmaro158, on Mar 6 2008, 11:18, said:

Sorry, nu inteleg. Posteaza aici fisierul Excel in cauza si specifica care "casute" trebuie completate.
am atasat fisierul Excel si am evidentiat cu galben casutele ce ma interesaza sa fie completate

cu instructiunile pe care m-i le-ai dat la inceput am reusit sa adaug si alte casute ce trebuiesc completate obligatoriu inainte de a inchide documentul, insa aceste casute in documentul original nu trebuie sa fie evidentiate in galben, deci este mai dificil pentru cine completeaza sa inteleaga care casuta ar mai trebui sa o completeze ca sa reuseasca sa salveze si sa inchida documentul, pe care apoi va trebui sa-l trimita prin e-mail

eu am intrebat daca-i posibil ca aceste casute sa fi semnalate in vreun fel. viziv sau daca-i posibil si viziv si acustic.

Daca eu introduc datele intr-o casuta sau chiar in mai multe casute din cele obligatoruii si nu le completez pe toate, sa-mi arate unde-i casuta pe care ar trebui sa o mai completez, si asa in continuare pana le competez pe toate cele obligatorii (evidentiate in galben)

Attached Files



#8
maro158

maro158

    Member

  • Grup: Members
  • Posts: 269
  • Înscris: 01.10.2007
Sper sa te ajute:

Option Explicit

Dim isInitialized As Boolean
Dim sht As Worksheet
Dim rangeToCheck(0 To 13) As Range

Private Sub Initialize()
 If Not isInitialized Then
   ' Set the range array
   Set sht = ActiveWorkbook.ActiveSheet
   Set rangeToCheck(0) = sht.Range("BG5")
   Set rangeToCheck(1) = sht.Range("BM5")
   Set rangeToCheck(2) = sht.Range("V8")
   Set rangeToCheck(3) = sht.Range("AG8")
   Set rangeToCheck(4) = sht.Range("AT8")
   Set rangeToCheck(5) = sht.Range("BN8")
   Set rangeToCheck(6) = sht.Range("V10")
   Set rangeToCheck(7) = sht.Range("AG10")
   Set rangeToCheck(8) = sht.Range("AT10")
   Set rangeToCheck(9) = sht.Range("BN10")
   Set rangeToCheck(10) = sht.Range("B38")
   Set rangeToCheck(11) = sht.Range("D38")
   Set rangeToCheck(12) = sht.Range("I38")
   Set rangeToCheck(13) = sht.Range("AH38")
 End If
End Sub

Private Sub Workbook_BeforeClose(Cancel As Boolean)
 Dim i As Integer
 Dim isSomethingMissing As Boolean

 Call Initialize

 For i = LBound(rangeToCheck) To UBound(rangeToCheck)
   rangeToCheck(i).Select

   If Trim$(rangeToCheck(i).Value) = "" Then
	  ' Insert visual signal
	  With Selection.Interior
		 .ColorIndex = 38
		 .Pattern = xlSolid
	  End With

	  If (isSomethingMissing = False) Then
		 isSomethingMissing = True
	  End If
   Else
	  ' Remove visual signal if above condition is not met
	  If (Selection.Interior.ColorIndex = 38) Then
		 Selection.Interior.ColorIndex = xlNone
	  End If
   End If
 Next

 If isSomethingMissing Then
   ' Warn user
   Beep
   MsgBox "Please fill in the required information (magenta colored cells)!", vbExclamation, "Required information"
 End If

 ' Cancel closing if needed
 Cancel = isSomethingMissing
End Sub


Edited by maro158, 06 March 2008 - 17:43.


#9
ionel.sat

ionel.sat

    Member

  • Grup: Members
  • Posts: 815
  • Înscris: 26.11.2005

View Postmaro158, on Mar 6 2008, 18:37, said:

Sper sa te ajute:

Option Explicit

Dim isInitialized As Boolean
Dim sht As Worksheet
Dim rangeToCheck(0 To 13) As Range

Private Sub Initialize()
 If Not isInitialized Then
   ' Set the range array
   Set sht = ActiveWorkbook.ActiveSheet
   Set rangeToCheck(0) = sht.Range("BG5")
   Set rangeToCheck(1) = sht.Range("BM5")
   Set rangeToCheck(2) = sht.Range("V8")
   Set rangeToCheck(3) = sht.Range("AG8")
   Set rangeToCheck(4) = sht.Range("AT8")
   Set rangeToCheck(5) = sht.Range("BN8")
   Set rangeToCheck(6) = sht.Range("V10")
   Set rangeToCheck(7) = sht.Range("AG10")
   Set rangeToCheck(8) = sht.Range("AT10")
   Set rangeToCheck(9) = sht.Range("BN10")
   Set rangeToCheck(10) = sht.Range("B38")
   Set rangeToCheck(11) = sht.Range("D38")
   Set rangeToCheck(12) = sht.Range("I38")
   Set rangeToCheck(13) = sht.Range("AH38")
 End If
End Sub

Private Sub Workbook_BeforeClose(Cancel As Boolean)
 Dim i As Integer
 Dim isSomethingMissing As Boolean

 Call Initialize

 For i = LBound(rangeToCheck) To UBound(rangeToCheck)
   rangeToCheck(i).Select

   If Trim$(rangeToCheck(i).Value) = "" Then
	  ' Insert visual signal
	  With Selection.Interior
		 .ColorIndex = 38
		 .Pattern = xlSolid
	  End With

	  If (isSomethingMissing = False) Then
		 isSomethingMissing = True
	  End If
   Else
	  ' Remove visual signal if above condition is not met
	  If (Selection.Interior.ColorIndex = 38) Then
		 Selection.Interior.ColorIndex = xlNone
	  End If
   End If
 Next

 If isSomethingMissing Then
   ' Warn user
   Beep
   MsgBox "Please fill in the required information (magenta colored cells)!", vbExclamation, "Required information"
 End If

 ' Cancel closing if needed
 Cancel = isSomethingMissing
End Sub


Foarte fain, super util acest macro.

Crezi ca se poate personaliza avizul acustic din comanda de mai jos?

(If isSomethingMissing Then
' Warn user
Beep
MsgBox "Please fill in the required information (magenta colored cells)!", vbExclamation, "Required information"
End If)

adica in loc de "Beep" sa-i asociez un alt sunet

oricum este excelent si asa
  
multumesc frumos

#10
maro158

maro158

    Member

  • Grup: Members
  • Posts: 269
  • Înscris: 01.10.2007

View Postionel.sat, on Mar 7 2008, 11:18, said:

Crezi ca se poate personaliza avizul acustic din comanda de mai jos?

Eu nu m-as incurca... Dar, ma rog:

'La nivel de modul
Private Declare Function PlaySoundA Lib "winmm.dll" Alias "sndPlaySoundA" (ByVal strFisierWav As String, ByVal lngFlags As Long) As Long

Private Const SND_ASYNC = &H1

' Apelezi procedura asta din codul de verificare
Public Sub PlayWav(strWavFile As String)
   If Dir(strWavFile) <> "" Then Call PlaySoundA(strWavFile, SND_ASYNC)
End Sub

Edited by maro158, 07 March 2008 - 12:38.


#11
ionel.sat

ionel.sat

    Member

  • Grup: Members
  • Posts: 815
  • Înscris: 26.11.2005

View Postmaro158, on Mar 7 2008, 13:36, said:

Eu nu m-as incurca... Dar, ma rog:

'La nivel de modul
Private Declare Function PlaySoundA Lib "winmm.dll" Alias "sndPlaySoundA" (ByVal strFisierWav As String, ByVal lngFlags As Long) As Long

Private Const SND_ASYNC = &H1

' Apelezi procedura asta din codul de verificare
Public Sub PlayWav(strWavFile As String)
   If Dir(strWavFile) <> "" Then Call PlaySoundA(strWavFile, SND_ASYNC)
End Sub

multumesc mult, o sa incerc si varianta asta.

raman dator

Anunturi

Chirurgia spinală minim invazivă Chirurgia spinală minim invazivă

Chirurgia spinală minim invazivă oferă pacienților oportunitatea unui tratament eficient, permițându-le o recuperare ultra rapidă și nu în ultimul rând minimizând leziunile induse chirurgical.

Echipa noastră utilizează un spectru larg de tehnici minim invazive, din care enumerăm câteva: endoscopia cu variantele ei (transnazală, transtoracică, transmusculară, etc), microscopul operator, abordurile trans tubulare și nu în ultimul rând infiltrațiile la toate nivelurile coloanei vertebrale.

www.neurohope.ro

0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users

Forumul Softpedia foloseste "cookies" pentru a imbunatati experienta utilizatorilor Accept
Pentru detalii si optiuni legate de cookies si datele personale, consultati Politica de utilizare cookies si Politica de confidentialitate